From 366453bf4b050c61e1f3fc3a663264466dcb251d Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" Date: Sun, 7 Mar 1999 05:21:41 +0000 Subject: [PATCH] system.h (const, inline): Move the stage2 handling of these keywords-as-macros from here... * system.h (const, inline): Move the stage2 handling of these keywords-as-macros from here... * gansidecl.h (const, inline): ...to here. (This became necessary after using `const' in config directory headers, which get included before system.h does. If we're going to reset these keywords, we must do so before absolutely any other header file.) From-SVN: r25626 --- gcc/ChangeLog | 7 +++++++ gcc/gansidecl.h | 13 +++++++++++++ gcc/system.h | 12 ------------ 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6b7bb5a7299..0675c0301c0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Sun Mar 7 08:05:27 1999 Kaveh R. Ghazi + + * system.h (const, inline): Move the stage2 handling of these + keywords-as-macros from here... + + * gansidecl.h (const, inline): ...to here. + Sun Mar 7 02:44:15 1999 Richard Henderson * recog.c (push_operand, pop_operand): VOIDmode needn't match modes. diff --git a/gcc/gansidecl.h b/gcc/gansidecl.h index 5929f152ad9..cf7762fad6a 100644 --- a/gcc/gansidecl.h +++ b/gcc/gansidecl.h @@ -34,6 +34,19 @@ Boston, MA 02111-1307, USA. */ #define VPROTO(ARGS) VPARAMS(ARGS) #define PVPROTO(ARGS) PARAMS(ARGS) +/* Autoconf will possibly define the `inline' or `const' keywords as + macros, however this is only valid for the stage1 compiler. If we + detect a modern version of gcc, unconditionally reset the values. + This makes sure the right thing happens in stage2 and later. We + need to do this very early; i.e. before any systems header files or + gcc header files in case they use these keywords. Otherwise + conflicts might occur. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +# undef const +# undef inline +# define inline __inline__ /* Modern gcc can use `__inline__' freely. */ +#endif /* GCC >= 2.7 */ + #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __attribute__(x) #endif diff --git a/gcc/system.h b/gcc/system.h index 6e549ca82a1..e668a9e950b 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -22,18 +22,6 @@ Boston, MA 02111-1307, USA. */ #ifndef __GCC_SYSTEM_H__ #define __GCC_SYSTEM_H__ -/* Autoconf will possibly define the `inline' or `const' keywords as - macros, however this is only valid for the stage1 compiler. If we - detect a modern version of gcc, unconditionally reset the values. - This makes sure the right thing happens in stage2 and later. We - need to do this before any header files in case they use these - keywords or conflicts might occur. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# undef const -# undef inline -# define inline __inline__ /* Modern gcc can use `__inline__' freely. */ -#endif /* GCC >= 2.7 */ - /* We must include stdarg.h/varargs.h before stdio.h. */ #ifdef ANSI_PROTOTYPES #include -- 2.30.2