OSDN Git Service

* config.gcc: Add an i386/sysv4-cpp.h. Remove i386-aout.h from
authorneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Jun 2002 21:13:11 +0000 (21:13 +0000)
committerneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Jun 2002 21:13:11 +0000 (21:13 +0000)
vxworks.
config/i386:
* i386-aout.h, i386elf.h, sysv4.h: Remove CPP_PREDEFINES.
* linux64.h: Use TARGET_OS_CPP_BUILTINS rather than
CPP_PREDEFINES and part of CPP_SPEC.
i386elf.h, mach.h, netware.h, rtemself.h, sco5.h, sol2.h,
vsta.h, vxi386.h, win32.h: Similarly.
* sysv4-cpp.h: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54679 138bc75d-0d04-0410-961f-82ee72b054a4

15 files changed:
gcc/ChangeLog
gcc/config.gcc
gcc/config/i386/i386-aout.h
gcc/config/i386/i386elf.h
gcc/config/i386/linux64.h
gcc/config/i386/mach.h
gcc/config/i386/netware.h
gcc/config/i386/rtemself.h
gcc/config/i386/sco5.h
gcc/config/i386/sol2.h
gcc/config/i386/sysv4-cpp.h [new file with mode: 0644]
gcc/config/i386/sysv4.h
gcc/config/i386/vsta.h
gcc/config/i386/vxi386.h
gcc/config/i386/win32.h

index 433436f..72678e5 100644 (file)
@@ -1,3 +1,15 @@
+2002-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * config.gcc: Add an i386/sysv4-cpp.h.  Remove i386-aout.h from
+       vxworks.
+config/i386:
+       * i386-aout.h, i386elf.h, sysv4.h: Remove CPP_PREDEFINES.
+       * linux64.h: Use TARGET_OS_CPP_BUILTINS rather than
+       CPP_PREDEFINES and part of CPP_SPEC.
+       i386elf.h, mach.h, netware.h, rtemself.h, sco5.h, sol2.h,
+       vsta.h, vxi386.h, win32.h: Similarly.
+       * sysv4-cpp.h: New.
+
 2002-06-16  Richard Henderson  <rth@redhat.com>
 
        PR c/7030
index 50b39ac..89ad581 100644 (file)
@@ -1006,7 +1006,7 @@ i[34567]86-ncr-sysv4*)            # NCR 3000 - ix86 running system V.4
        then
                tm_file=i386/sysv4gdb.h
        else
-               tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h"
+               tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
        fi
        extra_parts="crtbegin.o crtend.o"
        tmake_file=i386/t-crtpic
@@ -1031,7 +1031,7 @@ i[34567]86-sequent-sysv*) # would otherwise be caught by i?86-*-sysv*
        exit 1
        ;;
 i[34567]86-wrs-vxworks*)
-       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h i386/vxi386.h"
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/vxi386.h"
        thread_file='vxworks'
        ;;
 i[34567]86-*-aout*)
@@ -1230,7 +1230,7 @@ i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
        ;;
 i[34567]86-*-sysv4*)           # Intel 80386's running system V.4
        xm_defines="POSIX SMALL_ARG_MAX"
-       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
        if test x$stabs = xyes
        then
                tm_file="${tm_file} dbx.h"
index 824414f..ca0cb25 100644 (file)
@@ -23,9 +23,4 @@ Boston, MA 02111-1307, USA.  */
 
 #define TARGET_VERSION fprintf (stderr, " (80386, BSD a.out syntax)"); 
 
-/* Specify predefined symbols in preprocessor.  */
-
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES ""
-
 /* end of i386-aout.h */
index 46f2078..cd01db2 100644 (file)
@@ -40,10 +40,6 @@ Boston, MA 02111-1307, USA.  */
   (TYPE_MODE (TYPE) == BLKmode \
    || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
 
-/* This used to define X86, but james@bigtex.cactus.org says that
-   is supposed to be defined optionally by user programs--not by default.  */
-#define CPP_PREDEFINES ""
-
 #undef CPP_SPEC
 #define CPP_SPEC ""
 
index 99c381a..7f19a53 100644 (file)
@@ -23,11 +23,24 @@ Boston, MA 02111-1307, USA.  */
 
 #define TARGET_VERSION fprintf (stderr, " (x86-64 Linux/ELF)");
 
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES "-D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -Asystem(posix)"
+#define TARGET_OS_CPP_BUILTINS()                               \
+  do                                                           \
+    {                                                          \
+       builtin_define_std ("linux");                           \
+       builtin_define_std ("unix");                            \
+       builtin_define ("__gnu_linux__");                       \
+       builtin_define ("__ELF__");                             \
+       builtin_assert ("system=posix");                        \
+       if (flag_pic)                                           \
+         {                                                     \
+           builtin_define ("__PIC__");                         \
+           builtin_define ("__pic__");                         \
+         }                                                     \
+    }                                                          \
+  while (0)
 
 #undef CPP_SPEC
-#define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
 
 /* Provide a LINK_SPEC.  Here we provide support for the special GCC
    options -static and -shared, which allow us to link things in one
index 29039f3..0aa3846 100644 (file)
@@ -2,8 +2,15 @@
 
 #define TARGET_VERSION fprintf (stderr, " (80386, Mach)"); 
 
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES "-Dunix -DMACH -Asystem=unix -Asystem=mach"
+#define TARGET_OS_CPP_BUILTINS()               \
+  do                                           \
+    {                                          \
+       builtin_define_std ("unix");            \
+       builtin_define_std ("MACH");            \
+       builtin_assert ("system=unix");         \
+       builtin_assert ("system=mach");         \
+    }                                          \
+  while (0)
 
 /* Specify extra dir to search for include files.  */
 #define SYSTEM_INCLUDE_DIR "/usr/mach/include"
index 8a51cf3..1f12662 100644 (file)
@@ -24,10 +24,14 @@ Boston, MA 02111-1307, USA.  */
 #undef TARGET_VERSION
 #define TARGET_VERSION fprintf (stderr, " (i386 Netware 4)");
 
-/* These surely require augmentation */
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES \
-  "-DAPX386 -D__i386__ -D__netware__ -Asystem=netware -Acpu=i386 -Amachine=i386"
+#define TARGET_OS_CPP_BUILTINS()               \
+  do                                           \
+    {                                          \
+       builtin_define_std ("APX386");          \
+       builtin_define ("__netware__");         \
+       builtin_assert ("system=netware");      \
+    }                                          \
+  while (0)
 
 #undef WCHAR_TYPE
 #define WCHAR_TYPE "short unsigned int"
index db95d36..dcf2808 100644 (file)
@@ -21,11 +21,14 @@ Boston, MA 02111-1307, USA.  */
 
 /* Specify predefined symbols in preprocessor.  */
 
-#include <i386/i386elf.h>
-
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES  "-D__rtems__ -Asystem=rtems \
-    -D__ELF__ -D__i386__ -D__USE_INIT_FINI__"
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{msoft-float:-D_SOFT_FLOAT}"
+#define TARGET_OS_CPP_BUILTINS()               \
+  do                                           \
+    {                                          \
+       builtin_define ("__rtems__");           \
+       builtin_define ("__ELF__");             \
+       builtin_define ("__USE_INIT_FINI__");   \
+       builtin_assert ("system=rtems");        \
+       if (!TARGET_80387)                      \
+         builtin_define ("_SOFT_FLOAT");       \
+    }                                          \
+  while (0)
index 818cba8..f1f34f9 100644 (file)
@@ -634,20 +634,32 @@ init_section ()                                                           \
   %{mcoff:crtendS.o%s} \
   %{pg:gcrtn.o%s}%{!pg:crtn.o%s}"
 
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES \
- "-Asystem=svr3"
-
-/* You are in a maze of GCC specs ... all alike */
+#define TARGET_OS_CPP_BUILTINS()               \
+  do                                           \
+    {                                          \
+       builtin_define ("__unix");              \
+       builtin_define ("_SCO_DS");             \
+       builtin_define ("_M_I386");             \
+       builtin_define ("_M_XENIX");            \
+       builtin_define ("_M_UNIX");             \
+       builtin_assert ("system=svr3");         \
+       if (flag_iso)                           \
+         cpp_define (pfile, "_STRICT_ANSI");   \
+       if (flag_pic)                                                   \
+         {                                                             \
+           builtin_define ("__PIC__");                                 \
+           builtin_define ("__pic__");                                 \
+         }                                                             \
+    }                                          \
+  while (0)
 
 #undef CPP_SPEC
 #define CPP_SPEC "\
   %{fpic:%{mcoff:%e-fpic is not valid with -mcoff}} \
   %{fPIC:%{mcoff:%e-fPIC is not valid with -mcoff}} \
-  -D__i386 -D__unix -D_SCO_DS=1 -D_M_I386 -D_M_XENIX -D_M_UNIX \
   %{!Xods30:-D_STRICT_NAMES} \
   %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \
-  %{ansi:-isystem include/ansi%s -isystem /usr/include/ansi -D_STRICT_ANSI} \
+  %{ansi:-isystem include/ansi%s -isystem /usr/include/ansi} \
   %{!ansi: \
    %{posix:-isystem include/posix%s -isystem /usr/include/posix \
            -D_POSIX_C_SOURCE=2 -D_POSIX_SOURCE=1} \
@@ -664,8 +676,6 @@ init_section ()                                                             \
   %{scointl:-DM_INTERNAT -D_M_INTERNAT} \
   %{!mcoff:-D_SCO_ELF} \
   %{mcoff:-D_M_COFF -D_SCO_COFF} \
-  %{!mcoff:%{fpic:-D__PIC__ -D__pic__} \
-         %{fPIC:%{!fpic:-D__PIC__ -D__pic__}}} \
   %{Xa:-D_SCO_C_DIALECT=1} \
   %{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \
    %{!Xc:%{Xk:-D_SCO_C_DIALECT=4} \
index d860f11..c4ac740 100644 (file)
@@ -77,9 +77,26 @@ Boston, MA 02111-1307, USA.  */
 
 #define HANDLE_PRAGMA_REDEFINE_EXTNAME 1
 
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES \
-  "-Dunix -D__svr4__ -D__SVR4 -Dsun -D__PRAGMA_REDEFINE_EXTNAME -Asystem=svr4"
+#define TARGET_OS_CPP_BUILTINS()                       \
+  do                                                   \
+    {                                                  \
+       builtin_define_std ("unix");                    \
+       builtin_define_std ("sun");                     \
+       builtin_define ("__svr4__");                    \
+       builtin_define ("__SVR4");                      \
+       builtin_define ("__PRAGMA_REDEFINE_EXTNAME");   \
+       builtin_assert ("system=svr4");                 \
+       /* For C++ we must add some additional macros   \
+          required by the C++ standard library.  */    \
+       if (c_language == clk_cplusplus)                \
+         {                                             \
+           builtin_define ("_XOPEN_SOURCE=500");       \
+           builtin_define ("_LARGEFILE_SOURCE=1");     \
+           builtin_define ("_LARGEFILE64_SOURCE=1");   \
+           builtin_define ("-D__EXTENSIONS__");        \
+         }                                             \
+    }                                                  \
+  while (0)
 
 /* Solaris 2/Intel as chokes on #line directives.  */
 #undef CPP_SPEC
@@ -89,14 +106,6 @@ Boston, MA 02111-1307, USA.  */
    %{!pthreads:%{threads:-D_REENTRANT -D_SOLARIS_THREADS}} \
    %{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude}"
 
-/* For C++ we need to add some additional macro definitions required
-   by the C++ standard library.  */
-#define CPLUSPLUS_CPP_SPEC "\
--D_XOPEN_SOURCE=500 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 \
--D__EXTENSIONS__ \
-%(cpp) \
-"
-
 #undef LIB_SPEC
 #define LIB_SPEC \
   "%{compat-bsd:-lucb -lsocket -lnsl -lelf -laio} \
diff --git a/gcc/config/i386/sysv4-cpp.h b/gcc/config/i386/sysv4-cpp.h
new file mode 100644 (file)
index 0000000..5b46bf1
--- /dev/null
@@ -0,0 +1,32 @@
+/* Target definitions for GNU compiler for Intel 80386 running System V.4
+   Copyright (C) 1991, 2001, 2002 Free Software Foundation, Inc.
+
+   Written by Ron Guilmette (rfg@netcom.com).
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#define TARGET_OS_CPP_BUILTINS()                                       \
+  do                                                                   \
+    {                                                                  \
+       builtin_define_std ("unix");                                    \
+       builtin_define ("__svr4__");                                    \
+       builtin_assert ("system=unix");                                 \
+       builtin_assert ("system=svr4");                                 \
+    }                                                                  \
+  while (0)
+
index f877877..6b3335e 100644 (file)
@@ -31,12 +31,6 @@ Boston, MA 02111-1307, USA.  */
   (TYPE_MODE (TYPE) == BLKmode \
    || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
 
-/* Define which macros to predefine.  __svr4__ is our extension.  */
-/* This used to define X86, but james@bigtex.cactus.org says that
-   is supposed to be defined optionally by user programs--not by default.  */
-#define CPP_PREDEFINES \
-  "-Dunix -D__svr4__ -Asystem=unix -Asystem=svr4"
-
 /* Output at beginning of assembler file.  */
 /* The .file command should always begin the output.  */
 
@@ -140,6 +134,3 @@ Boston, MA 02111-1307, USA.  */
           "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"                 \
           : "=d"(BASE))
 #endif
-
-#undef CPP_SPEC
-#define CPP_SPEC ""
index 24e2573..9388329 100644 (file)
@@ -21,7 +21,12 @@ Boston, MA 02111-1307, USA.  */
 
 #define TARGET_VERSION fprintf (stderr, " (80386, BSD syntax)"); 
 
-#ifdef CPP_PREDEFINES
-#undef CPP_PREDEFINES
-#endif
-#define CPP_PREDEFINES "-Dunix -DVSTA -Asystem=unix -Asystem=vsta"
+#define TARGET_OS_CPP_BUILTINS()               \
+  do                                           \
+    {                                          \
+       builtin_define_std ("unix");            \
+       builtin_define ("VSTA");                \
+       builtin_assert ("system=unix");         \
+       builtin_assert ("system=vsta");         \
+    }                                          \
+  while (0)
index dafe46a..57e0662 100644 (file)
@@ -21,28 +21,31 @@ Boston, MA 02111-1307, USA.  */
 #undef  TARGET_VERSION
 #define TARGET_VERSION fprintf (stderr, " (80386, VxWorks BSD syntax)"); 
 
-#undef CPP_CPU_SPEC
-#define CPP_CPU_SPEC "\
--Asystem=unix -Acpu=i386 -Amachine=i386 \
-%{!ansi:-Di386} -D__i386 -D__i386__ \
-%{march=i386:-DCPU=I80386} \
-%{march=i486:-DCPU=I80486 %(cpp_486)} \
-%{march=pentium:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUM %(cpp_586)} \
-%{march=pentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \
-%{!march=*: \
- %{mcpu=i386:-DCPU=I80386} \
- %{mcpu=i486:-DCPU=I80486 %(cpp_486)} %{m486:-DCPU=I80486 %(cpp_486)} \
- %{mpentium:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUM %(cpp_586)} \
- %{mcpu=pentium:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUM %(cpp_586)} \
- %{mpentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \
- %{mcpu=pentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \
- %{!mcpu*:%{!m486:%{!mpentium*:-DCPU=I80386}}}}"
+#define TARGET_OS_CPP_BUILTINS()                       \
+  do                                                   \
+    {                                                  \
+      builtin_define ("__vxworks");                    \
+      builtin_assert ("system=unix");                  \
+                                                       \
+      if (TARGET_386)                                  \
+       builtin_define ("CPU=I80386");                  \
+      else if (TARGET_486)                             \
+       builtin_define ("CPU=I80486");                  \
+      else if (TARGET_PENTIUM)                         \
+       {                                               \
+         builtin_define ("CPU=PENTIUM");               \
+         builtin_define ("CPU_VARIANT=PENTIUM");       \
+       }                                               \
+      else if (TARGET_PENTIUMPRO)                      \
+       {                                               \
+         builtin_define ("CPU=PENTIUM");               \
+         builtin_define ("CPU_VARIANT=PENTIUMPRO");    \
+       }                                               \
+    }                                                  \
+  while (0)
 
 #define HANDLE_SYSV_PRAGMA
 
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES "-D__vxworks"
-
 /* VxWorks does all the library stuff itself.  */
 
 #undef LIB_SPEC
index c03030b..48b3887 100644 (file)
@@ -62,11 +62,24 @@ Boston, MA 02111-1307, USA.  */
     { "no-nop-fun-dllimport",  MASK_NOP_FUN_DLLIMPORT, "" },
 
 
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES "-D_WIN32 -DWINNT -D_X86_=1 \
-  -D__stdcall=__attribute__((__stdcall__)) \
-  -D__cdecl=__attribute__((__cdecl__)) \
-  -Asystem=winnt"
+#define TARGET_OS_CPP_BUILTINS()                                       \
+  do                                                                   \
+    {                                                                  \
+       builtin_define ("_WIN32");                                      \
+       builtin_define_std ("WINNT");                                   \
+       builtin_define ("_X86_");                                       \
+       builtin_define ("__stdcall=__attribute__((__stdcall__))");      \
+       builtin_define ("__cdecl=__attribute__((__cdecl__))");          \
+       builtin_assert ("system=winnt");                                \
+       if (TARGET_CYGWIN)                                              \
+         {                                                             \
+           builtin_define ("__CYGWIN32__");                            \
+           builtin_define ("__CYGWIN__");                              \
+         }                                                             \
+       else                                                            \
+         builtin_define ("__MINGW32__");                               \
+    }                                                                  \
+  while (0)
 
 #undef STARTFILE_SPEC
 
@@ -75,8 +88,7 @@ Boston, MA 02111-1307, USA.  */
 
 #undef CPP_SPEC
 #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} \
-  %{!mcygwin:-iwithprefixbefore include/mingw32 -D__MINGW32__}    \
-  %{mcygwin:-D__CYGWIN32__ -D__CYGWIN__}"
+  %{!mcygwin:-iwithprefixbefore include/mingw32}"
 
 /* We have to dynamic link to get to the system DLLs.  All of libc, libm and
    the Unix stuff is in cygwin.dll.  The import library is called