]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386.h (CPP_486_SPEC, [...]): New specs.
authorJim Wilson <wilson@cygnus.com>
Mon, 13 Jul 1998 22:38:51 +0000 (22:38 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 13 Jul 1998 22:38:51 +0000 (16:38 -0600)
        * i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
        (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
        (EXTRA_SPECS): Support them.
        * gcc.c: Delete %[spec] support.
        (do_spec_1, case '('): Likewise.
        (do_spec_1, case '['): Call error.
        * i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
        linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
        sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
        %[cpp_cpu].

From-SVN: r21120

19 files changed:
gcc/ChangeLog
gcc/config/i386/aix386ng.h
gcc/config/i386/cygwin32.h
gcc/config/i386/freebsd-elf.h
gcc/config/i386/gas.h
gcc/config/i386/i386.h
gcc/config/i386/isc.h
gcc/config/i386/linux-aout.h
gcc/config/i386/linux-oldld.h
gcc/config/i386/linux.h
gcc/config/i386/osfelf.h
gcc/config/i386/osfrose.h
gcc/config/i386/sco.h
gcc/config/i386/sco4.h
gcc/config/i386/sco4dbx.h
gcc/config/i386/sco5.h
gcc/config/i386/sol2.h
gcc/config/i386/sysv3.h
gcc/gcc.c

index 1a86cbe3acbd3bbd0b1b4b92306b1faf97756432..ae87f3c550abec2f014ccd905077e24788b90e2e 100644 (file)
@@ -1,3 +1,16 @@
+Mon Jul 13 23:36:08 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
+       (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
+       (EXTRA_SPECS): Support them.
+       * gcc.c: Delete %[spec] support.
+       (do_spec_1, case '('): Likewise.
+       (do_spec_1, case '['): Call error.
+       * i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
+       linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
+       sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
+       %[cpp_cpu].
+
 Mon Jul 13 23:31:04 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
        * m68k.c (output_scc_di): Use cmpw #0 only for address registers.
index 7ced3cfd48e564d6c62149bf36ae4d2773b0db8b..a177b69250f8a4bface80258abcd42b03435c95f 100644 (file)
@@ -46,7 +46,7 @@ Boston, MA 02111-1307, USA.  */
 
 #define CPP_PREDEFINES "-Dps2 -Dunix -Asystem(aix)"
 
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] \
+#define CPP_SPEC "%(cpp_cpu) \
   %{posix:-D_POSIX_SOURCE}%{!posix:-DAIX} -D_I386 -D_AIX -D_MBCS"
 
 /* special flags for the aix assembler to generate the short form for all
index 18499801fe1eac3a35af65e5bdad1f50321dc143..db13d3f8008952e6771f783b9ae9b56475f1f31a 100644 (file)
@@ -50,7 +50,7 @@ Boston, MA 02111-1307, USA. */
   -Asystem(winnt) -Acpu(i386) -Amachine(i386)"
 
 #undef CPP_SPEC
-#define CPP_SPEC "-remap %(cpp_cpu) %[cpp_cpu] %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC "-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE}"
 
 /* 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
index bb6e16c28ff50ddc6d65bfd0ceedfadf1a82cabd..3c1934b4cda5f379ec33692139139060a55ba426 100644 (file)
@@ -143,7 +143,7 @@ Boston, MA 02111-1307, USA.  */
 #define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
 
 #undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
 
 #undef LIB_SPEC
 #if 1
index 52c5cc426c90c827c66a662b1fce0117f90af564..173bf1920ff217c7b7eb101c318370af81283948 100644 (file)
@@ -57,7 +57,7 @@ Boston, MA 02111-1307, USA.  */
 /* Specify predefined symbols in preprocessor.  */
 
 #define CPP_PREDEFINES "-Dunix"
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE}"
 
 /* Allow #sccs in preprocessor.  */
 
index 87eaf868a126a4214680ac0614d64066d3398140..a575611e018eaa6f9e46aea86e73f3e31ab03714 100644 (file)
@@ -304,15 +304,21 @@ extern int ix86_arch;
 %{mpentiumpro:-mcpu=pentiumpro}}"
 #endif
 \f
+#define CPP_486_SPEC "%{!ansi:-Di486} -D__i486 -D__i486__"
+#define CPP_586_SPEC "%{!ansi:-Di586 -Dpentium} \
+       -D__i586 -D__i586__ -D__pentium -D__pentium__"
+#define CPP_686_SPEC "%{!ansi:-Di686 -Dpentiumpro} \
+       -D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__"
+
 #ifndef CPP_CPU_DEFAULT_SPEC
 #if TARGET_CPU_DEFAULT == 1
-#define CPP_CPU_DEFAULT_SPEC "-Di486"
+#define CPP_CPU_DEFAULT_SPEC "%(cpp_486)"
 #else
 #if TARGET_CPU_DEFAULT == 2
-#define CPP_CPU_DEFAULT_SPEC "-Dpentium -Di586"
+#define CPP_CPU_DEFAULT_SPEC "%(cpp_586)"
 #else
 #if TARGET_CPU_DEFAULT == 3
-#define CPP_CPU_DEFAULT_SPEC "-Dpentiumpro -Di686"
+#define CPP_CPU_DEFAULT_SPEC "%(cpp_686)"
 #else
 #define CPP_CPU_DEFAULT_SPEC ""
 #endif
@@ -322,11 +328,12 @@ extern int ix86_arch;
 
 #ifndef CPP_CPU_SPEC
 #define CPP_CPU_SPEC "\
--Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) \
-%{mcpu=i486:-Di486} %{m486:-Di486} \
-%{mpentium:-Dpentium -Di586} %{mcpu=pentium:-Dpentium -Di586} \
-%{mpentiumpro:-Dpentiumpro -Di686} %{mcpu=pentiumpro:-Dpentiumpro -Di686} \
-%{!mcpu*:%{!m486:%{!mpentium*: %[cpp_cpu_default]}}}"
+-Asystem(unix) -Acpu(i386) -Amachine(i386) \
+%{!ansi:-Di386} -D__i386 -D__i386__ \
+%{mcpu=i486:%(cpp_486)} %{m486:%(cpp_486)} \
+%{mpentium:%(cpp_586)} %{mcpu=pentium:%(cpp_586)} \
+%{mpentiumpro:%(cpp_686)} %{mcpu=pentiumpro:%(cpp_686)} \
+%{!mcpu*:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}"
 #endif
 
 #ifndef CC1_SPEC
@@ -348,6 +355,9 @@ extern int ix86_arch;
 #endif
 
 #define EXTRA_SPECS                                                    \
+  { "cpp_486", CPP_486_SPEC},                                          \
+  { "cpp_586", CPP_586_SPEC},                                          \
+  { "cpp_686", CPP_686_SPEC},                                          \
   { "cpp_cpu_default", CPP_CPU_DEFAULT_SPEC },                         \
   { "cpp_cpu", CPP_CPU_SPEC },                                         \
   { "cc1_cpu",  CC1_CPU_SPEC },                                                \
index c0a51508abd380b91aa3bd069033917f649a16cb..5c39896df0173620234f0f4e66a64dbc84600ba1 100644 (file)
@@ -19,7 +19,7 @@
 #define LIB_SPEC "%{shlib:-lc_s} %{posix:-lcposix} %{Xp:-lcposix} -lc -lg"
 
 #undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{posix:-D_POSIX_SOURCE} %{Xp:-D_POSIX_SOURCE}"
+#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{Xp:-D_POSIX_SOURCE}"
 
 /* ISC 2.2 uses `char' for `wchar_t'.  */
 #undef WCHAR_TYPE
@@ -87,3 +87,7 @@
     }                                            \
     fputs ("\"\n", FILE);                        \
   } while (0)
+
+/* Work around assembler forward label references generated in exception
+   handling code. */
+#define DWARF2_UNWIND_INFO 0
index 98cf55e78300cc6ffdb320d1df93e770a01e18e7..de81d878317a2973185e265242961a8871ac50fb 100644 (file)
@@ -34,7 +34,7 @@ Boston, MA 02111-1307, USA.  */
 #define CPP_PREDEFINES "-Dunix -Dlinux -Asystem(posix)"
 
 #undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
 
 #undef SIZE_TYPE
 #define SIZE_TYPE "unsigned int"
index a67fd0f8535ab7c6dc86d047a28c356dadb8cd1a..4e3085bc2caf10b7cb0bd547bf46721eaf58347f 100644 (file)
@@ -35,7 +35,7 @@ Boston, MA 02111-1307, USA.  */
 #define CPP_PREDEFINES "-Dunix -Dlinux -Asystem(posix)"
 
 #undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
 
 #undef SIZE_TYPE
 #define SIZE_TYPE "unsigned int"
index ed50b013a0a402369a19f68935f5443fbca2a2c4..373c80444cff0409bcf9c3a9fd675f14fc944e32 100644 (file)
@@ -155,9 +155,9 @@ Boston, MA 02111-1307, USA.  */
 
 #undef CPP_SPEC
 #ifdef USE_GNULIBC_1
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
 #else
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
 #endif
 
 #undef CC1_SPEC
index 4604a341175cbd60b61c376c590d18ab672582c4..381ffc26313cc4bae2cb7724ccf4c656eacf29c4 100644 (file)
@@ -25,7 +25,7 @@ Boston, MA 02111-1307, USA.  */
 #define CPP_PREDEFINES "-DOSF -DOSF1 -Dunix -Asystem(xpg4)"
 
 #undef  CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] \
+#define CPP_SPEC "%(cpp_cpu) \
 %{mrose: -D__ROSE__ %{!pic-none: -D__SHARED__}} \
 %{!mrose: -D__ELF__ %{fpic: -D__SHARED__}} \
 %{mno-underscores: -D__NO_UNDERSCORES__} \
index e2e6231ed877e37fe97c34a1f5a1bfd98993fdbe..9cfe187ea090fbedbbf71d874b8b6a3085bc4688 100644 (file)
@@ -93,7 +93,7 @@ Boston, MA 02111-1307, USA.  */
 #define CPP_PREDEFINES "-DOSF -DOSF1 -Dunix -Asystem(xpg4)"
 
 #undef  CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] \
+#define CPP_SPEC "%(cpp_cpu) \
 %{!melf: -D__ROSE__ %{!pic-none: -D__SHARED__}} \
 %{melf: -D__ELF__ %{fpic: -D__SHARED__}} \
 %{mno-underscores: -D__NO_UNDERSCORES__} \
index 9c94a766a837e5b86f4548f9d9fe05bcb6df0c39..016e0a00ce07fc76d2e64a59391ffe57abf5c76c 100644 (file)
@@ -58,7 +58,7 @@ Boston, MA 02111-1307, USA.  */
 #define CPP_PREDEFINES "-Dunix -DM_UNIX -DM_I386 -DM_COFF -DM_WORDSWAP -Asystem(svr3)"
 
 #undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{scointl:-DM_INTERNAT}"
+#define CPP_SPEC "%(cpp_cpu) %{scointl:-DM_INTERNAT}"
 
 /* This spec is used for telling cpp whether char is signed or not.  */
 
index 1b17d674cd538a6228c733059e2f253797f4e60e..5d1ea471dbf8660d728b7af67e38d4e232c3a129 100644 (file)
@@ -66,7 +66,7 @@ Boston, MA 02111-1307, USA.  */
  "-Asystem(svr3)"
 
 #undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] \
+#define CPP_SPEC "%(cpp_cpu) \
   -D_i386 -D_M_I386 -D_M_I86 -D_M_I86SM -D_M_SDATA -D_M_STEXT \
   -D_unix -D_M_UNIX -D_M_XENIX \
   -D_M_SYS5 -D_M_SYSV -D_M_SYS3 -D_M_SYSIII \
index 6ff5714c56bc20c531004ff3ee6cacb16903ce5d..3d075b6a2e26657c5c74e7ccf9aff18be29d929c 100644 (file)
@@ -64,7 +64,7 @@ Boston, MA 02111-1307, USA.  */
 #define CPP_PREDEFINES "-Dunix -Asystem(svr3)"
 
 #undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] \
+#define CPP_SPEC "%(cpp_cpu) \
   -D_M_I386 -D_M_I86 -D_M_I86SM -D_M_SDATA -D_M_STEXT \
   -D_M_UNIX -D_M_XENIX \
   -D_M_SYS5 -D_M_SYSV -D_M_SYS3 -D_M_SYSIII \
index d656eb95e048e8215ab4aae6bff27d3f8c537b6a..62156ddec2bca5d42961204a8c024f16481b46ff 100644 (file)
@@ -832,7 +832,7 @@ dtors_section ()                                                    \
 /* You are in a maze of GCC specs ... all alike */
 
 #undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] \
+#define CPP_SPEC "%(cpp_cpu) \
   %{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 \
index 55fe5f775dc534fd1153894152d06f0058c4a4f2..8fc3e6140e75916502d88ee4451c5429354ed8ad 100644 (file)
@@ -1,5 +1,5 @@
 /* Target definitions for GNU compiler for Intel 80386 running Solaris 2
-   Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
    Contributed by Fred Fish (fnf@cygnus.com).
 
 This file is part of GNU CC.
@@ -30,7 +30,7 @@ Boston, MA 02111-1307, USA.  */
    executed.  This macro forces the assembler to do the padding, since
    it knows what it is doing. */
 
-#define FORCE_INIT_SECTION_ALIGN do { asm (ALIGN_ASM_OP ## " 16"); } while (0)
+#define FORCE_INIT_SECTION_ALIGN asm (ALIGN_ASM_OP ## " 16")
 #define FORCE_FINI_SECTION_ALIGN FORCE_INIT_SECTION_ALIGN
 
 /* Add "sun" to the list of symbols defined for SVR4.  */
@@ -39,7 +39,7 @@ Boston, MA 02111-1307, USA.  */
   "-Dunix -D__svr4__ -D__SVR4 -Dsun -Asystem(svr4)"
 
 #undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] \
+#define CPP_SPEC "%(cpp_cpu) \
    %{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude}"
 
 #undef LIB_SPEC
@@ -53,7 +53,7 @@ Boston, MA 02111-1307, USA.  */
 #define STARTFILE_SPEC "%{!shared: \
                         %{!symbolic: \
                          %{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}}}\
-                       %{pg:gmon.o%s}%{!pg:crti.o%s} \
+                       %{pg:gmon.o%s} crti.o%s \
                        %{ansi:values-Xc.o%s} \
                        %{!ansi: \
                         %{traditional:values-Xt.o%s} \
@@ -72,12 +72,14 @@ Boston, MA 02111-1307, USA.  */
    %{YP,*} \
    %{R*} \
    %{compat-bsd: \
-     %{!YP,*:%{p:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
-       %{!p:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}} \
+     %{!YP,*:%{pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
+     %{!pg:%{p:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
+       %{!p:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}}} \
      -R /usr/ucblib} \
    %{!compat-bsd: \
-     %{!YP,*:%{p:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
-       %{!p:-Y P,/usr/ccs/lib:/usr/lib}}} \
+     %{!YP,*:%{pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
+     %{!pg:%{p:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
+       %{!p:-Y P,/usr/ccs/lib:/usr/lib}}}} \
    %{Qy:} %{!Qn:-Qy}"
 
 /* This defines which switch letters take arguments.
@@ -90,3 +92,4 @@ Boston, MA 02111-1307, USA.  */
    || (CHAR) == 'h' \
    || (CHAR) == 'z')
 
+#define STDC_0_IN_SYSTEM_HEADERS
index b6a1fcc8e2a85844f4f2e7e425ff6c98c6149dce..ce898899011a7155efade03cf7a5eed57564b854 100644 (file)
@@ -44,7 +44,7 @@ Boston, MA 02111-1307, USA.  */
 
 #define CPP_PREDEFINES "-Dunix -Asystem(svr3)"
 
-#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE}"
 
 /* Writing `int' for a bitfield forces int alignment for the structure.  */
 
index 48b94fc14fd438f5934959ad989773d1b88c1e9d..17978f726445ffa17b15f41e7ee64f80268c1585 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -365,7 +365,6 @@ or with constant text in a single argument.
  %{S|P:X} substitutes X if either -S or -P was given to CC.  This may be
          combined with ! and . as above binding stronger than the OR.
  %(Spec) processes a specification defined in a specs file as *Spec:
- %[Spec] as above, but put __ around -D arguments
 
 The conditional text X in a %{S:X} or %{!S:X} construct may contain
 other nested % constructs or spaces, or even newlines.  They are
@@ -1111,8 +1110,7 @@ skip_whitespace (p)
 }
 \f
 /* Structure to keep track of the specs that have been defined so far.
-   These are accessed using %(specname) or %[specname] in a compiler
-   or link spec.  */
+   These are accessed using %(specname) in a compiler or link spec.  */
 
 struct spec_list
 {
@@ -3994,11 +3992,8 @@ do_spec_1 (spec, inswitch, soft_matched_part)
 
            /* Process a string found as the value of a spec given by name.
               This feature allows individual machine descriptions
-              to add and use their own specs.
-              %[...] modifies -D options the way %P does;
-              %(...) uses the spec unmodified.  */
+              to add and use their own specs.  */
          case '(':
-         case '[':
            {
              char *name = p;
              struct spec_list *sl;
@@ -4006,7 +4001,7 @@ do_spec_1 (spec, inswitch, soft_matched_part)
 
              /* The string after the S/P is the name of a spec that is to be
                 processed.  */
-             while (*p && *p != ')' && *p != ']')
+             while (*p && *p != ')')
                p++;
 
              /* See if it's in the list */
@@ -4015,67 +4010,32 @@ do_spec_1 (spec, inswitch, soft_matched_part)
                  {
                    name = *(sl->ptr_spec);
 #ifdef DEBUG_SPECS
-                   fprintf (stderr, "Processing spec %c%s%c, which is '%s'\n",
-                            c, sl->name, (c == '(') ? ')' : ']', name);
+                   fprintf (stderr, "Processing spec %s, which is '%s'\n",
+                            sl->name, name);
 #endif
                    break;
                  }
 
              if (sl)
                {
-                 if (c == '(')
-                   {
-                     value = do_spec_1 (name, 0, NULL_PTR);
-                     if (value != 0)
-                       return value;
-                   }
-                 else
-                   {
-                     char *x = (char *) alloca (strlen (name) * 2 + 1);
-                     char *buf = x;
-                     char *y = name;
-                     int flag = 0;
-
-                     /* Copy all of NAME into BUF, but put __ after
-                        every -D and at the end of each arg,  */
-                     while (1)
-                       {
-                         if (! strncmp (y, "-D", 2))
-                           {
-                             *x++ = '-';
-                             *x++ = 'D';
-                             *x++ = '_';
-                             *x++ = '_';
-                             y += 2;
-                             flag = 1;
-                             continue;
-                           }
-                          else if (flag && (*y == ' ' || *y == '\t' || *y == '='
-                                            || *y == '}' || *y == 0))
-                           {
-                             *x++ = '_';
-                             *x++ = '_';
-                             flag = 0;
-                           }
-                          if (*y == 0)
-                           break;
-                         else
-                           *x++ = *y++;
-                       }
-                     *x = 0;
-
-                     value = do_spec_1 (buf, 0, NULL_PTR);
-                     if (value != 0)
-                       return value;
-                   }
+                 value = do_spec_1 (name, 0, NULL_PTR);
+                 if (value != 0)
+                   return value;
                }
 
-             /* Discard the closing paren or bracket.  */
+             /* Discard the closing paren.  */
              if (*p)
                p++;
            }
            break;
 
+           /* This used to be like %(, except that it modified -D options
+              the same way as %P.  This has been obsoleted, as it was not
+              useful for obtaining correct ISO C semantics for defines.  */
+         case '[':
+           error ("use of obsolete %[ operator in specs");
+           return -1;
+
          case 'v':
            {
              int c1 = *p++;  /* Select first or second version number.  */