summaryrefslogtreecommitdiffstats
path: root/include/ansidecl.h
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2001-04-04 00:46:27 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2001-04-04 00:46:27 +0000
commit673b6e5ab711ecbcf92baee766353878def2d8aa (patch)
treee2acf368cdca61d677ea69ecf9e7165377d277d8 /include/ansidecl.h
parentfc43d1f22eeb96d247281ebb4b7f0f9469b86333 (diff)
downloadppe42-gcc-673b6e5ab711ecbcf92baee766353878def2d8aa.tar.gz
ppe42-gcc-673b6e5ab711ecbcf92baee766353878def2d8aa.zip
include:
* ansidecl.h: All logic from gcc/gansidecl.h moved here. gcc: * gansidecl.h: Delete file. * configure.in: Change all refs to gansidecl.h to use ansidecl.h. Adjust *_file_list so they know where ansidecl.h lives. * configure: Regenerate. * Makefile.in (intl.o): Don't depend on gansidecl.h. * defaults.h: s/gansidecl.h/ansidecl.h/ in comment. * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c: Don't include gansidecl.h. * intl.c, main.c, version.c, fixinc/fixlib.h, fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not gansidecl.h. gcc/java: * Make-lang.in (buffer.o, check-init.o, class.o): Don't depend on gansidecl.h. * buffer.c, jvgenmain.c: Don't include gansidecl.h. libiberty: * make-temp-file.c (try): Inline. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41069 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include/ansidecl.h')
-rw-r--r--include/ansidecl.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/ansidecl.h b/include/ansidecl.h
index 545a62103a9..88187be6786 100644
--- a/include/ansidecl.h
+++ b/include/ansidecl.h
@@ -161,6 +161,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#endif /* ANSI C. */
+/* This is for GCC, which has historically used typed null pointer
+ constants. It needs to be here so it is seen by headers included
+ by gcc's config.h.
+
+ FIXME: GCC probably doesn't need to use typed nulls anymore.
+ Clean it up, then remove this. Ware variable-argument functions. */
+#ifdef IN_GCC
+# define NULL_PTR ((PTR) 0)
+#endif
/* Using MACRO(x,y) in cpp #if conditionals does not work with some
older preprocessors. Thus we can't define something like this:
@@ -230,4 +239,23 @@ So instead we use the macro below and test it against specific values. */
#define __extension__
#endif
+/* Bootstrap support: 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 header files that might use these keywords.
+ Otherwise conflicts might occur. */
+
+#if (GCC_VERSION >= 2007)
+# ifdef __STDC__
+# undef const
+# endif
+# undef inline
+# define inline __inline__ /* __inline__ prevents -pedantic warnings */
+# ifndef HAVE_LONG_DOUBLE
+# define HAVE_LONG_DOUBLE 1
+# endif
+#endif /* GCC >= 2.7 */
+
#endif /* ansidecl.h */
OpenPOWER on IntegriCloud