* system.h (inline, const): Handle these for stage2 (and later) gcc.
* dwarf2out.c (inline): Don't define.
* dwarfout.c (inline): Likewise.
From-SVN: r24950
+Mon Feb 1 09:40:25 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * system.h (inline, const): Handle these for stage2 (and later) gcc.
+
+ * dwarf2out.c (inline): Don't define.
+
+ * dwarfout.c (inline): Likewise.
+
Sun Jan 31 22:04:37 1999 Richard Henderson <rth@cygnus.com>
* loop.c (recombine_givs): Dump recombination and derivation data.
#if defined (DWARF2_DEBUGGING_INFO) || defined (DWARF2_UNWIND_INFO)
-#ifndef __GNUC__
-#define inline
-#endif
-
/* How to start an assembler comment. */
#ifndef ASM_COMMENT_START
#define ASM_COMMENT_START ";#"
/* Note that the implementation of C++ support herein is (as yet) unfinished.
If you want to try to complete it, more power to you. */
-#if !defined(__GNUC__) || (NDEBUG != 1)
-#define inline
-#endif
-
/* How to start an assembler comment. */
#ifndef ASM_COMMENT_START
#define ASM_COMMENT_START ";#"
#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 <stdarg.h>
# endif
#endif /* ! STRINGIFY */
-
/* These macros are here in preparation for the use of gettext in egcs. */
#define _(String) String
#define N_(String) String