[Bug libgcc/65902] GCC-5.1 fails to bootstrap for eCos/arm-eabi

2015-04-29 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65902

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #6 from Richard Earnshaw rearnsha at gcc dot gnu.org ---
(In reply to Bernd Edlinger from comment #5)
 Well, I thought maybe it would not hurt to be more permissive...
 
 At least math.h and stdlib.h include cyg/infra/cyg_type.h
 which contains something like this:
 
 #ifndef __cplusplus
 
 typedef cyg_halbool bool;
 
 # ifndef false
 #  define false 0
 # endif
 
 # ifndef true
 #  define true (!false)
 # endif
 
 #endif

Neither of those headers should be doing that...

I think you'll find more packages than just GCC are going to fail to build if
they do.


[Bug libgcc/65902] GCC-5.1 fails to bootstrap for eCos/arm-eabi

2015-04-28 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65902

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
But that is not in a header other packages use, it is in the source, and we
aren't including stdbool.h.
So this really looks like an eCos bug.


[Bug libgcc/65902] GCC-5.1 fails to bootstrap for eCos/arm-eabi

2015-04-28 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65902

--- Comment #3 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
(In reply to Richard Earnshaw from comment #2)
 The standard headers should only be defining bool if stdbool.h has been
 included.  So this looks more like a build environment error than a bug in
 GCC.

yes. that is not too smart to define bool in the wrong header...

but somehow we are also defining that in the wrong place?


[Bug libgcc/65902] GCC-5.1 fails to bootstrap for eCos/arm-eabi

2015-04-28 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65902

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Target||arm-eabi

--- Comment #2 from Richard Earnshaw rearnsha at gcc dot gnu.org ---
The standard headers should only be defining bool if stdbool.h has been
included.  So this looks more like a build environment error than a bug in GCC.


[Bug libgcc/65902] GCC-5.1 fails to bootstrap for eCos/arm-eabi

2015-04-28 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65902

--- Comment #5 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
Well, I thought maybe it would not hurt to be more permissive...

At least math.h and stdlib.h include cyg/infra/cyg_type.h
which contains something like this:

#ifndef __cplusplus

typedef cyg_halbool bool;

# ifndef false
#  define false 0
# endif

# ifndef true
#  define true (!false)
# endif

#endif


[Bug libgcc/65902] GCC-5.1 fails to bootstrap for eCos/arm-eabi

2015-04-27 Thread bernd.edlinger at hotmail dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65902

--- Comment #1 from Bernd Edlinger bernd.edlinger at hotmail dot de ---
this would fix the regression:

--- libgcc/unwind-arm-common.inc.jj 2015-01-05 13:33:28.0 +0100
+++ libgcc/unwind-arm-common.inc2015-04-27 15:54:04.378469179 +0200
@@ -36,7 +36,7 @@

 /* Definitions for C++ runtime support routines.  We make these weak
declarations to avoid pulling in libsupc++ unnecessarily.  */
-typedef unsigned char bool;
+#define bool unsigned char

 typedef struct _ZSt9type_info type_info; /* This names C++ type_info type */
 enum __cxa_type_match_result