diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 07f3c5cae49..504a57b9070 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2003-05-17 Neil Booth + + * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove. + * gcc.c (cpp_predefines): Remove. + (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES. + (static_specs): Remove predefines. + * system.h: Poison CPP_PREDEFINES. + * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h, + config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES. + 2003-05-17 Neil Booth * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h, diff --git a/gcc/config/freebsd.h b/gcc/config/freebsd.h index f71bd8b42d5..8ddc4886b33 100644 --- a/gcc/config/freebsd.h +++ b/gcc/config/freebsd.h @@ -41,9 +41,6 @@ Boston, MA 02111-1307, USA. */ #undef WORD_SWITCH_TAKES_ARG #define WORD_SWITCH_TAKES_ARG(STR) (FBSD_WORD_SWITCH_TAKES_ARG(STR)) -#undef CPP_PREDEFINES -/* Obsolete, do not define it. */ - #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS() diff --git a/gcc/config/openbsd.h b/gcc/config/openbsd.h index ef12922ae2f..7eeb8fef06f 100644 --- a/gcc/config/openbsd.h +++ b/gcc/config/openbsd.h @@ -130,9 +130,6 @@ Boston, MA 02111-1307, USA. */ /* Runtime target specification. */ -/* You must redefine CPP_PREDEFINES in any arch specific file. */ -#undef CPP_PREDEFINES - /* Implicit calls to library routines. */ /* Use memcpy and memset instead of bcopy and bzero. */ diff --git a/gcc/config/ptx4.h b/gcc/config/ptx4.h index 4560b86eab3..0c83d984a5e 100644 --- a/gcc/config/ptx4.h +++ b/gcc/config/ptx4.h @@ -62,12 +62,6 @@ Boston, MA 02111-1307, USA. && strcmp (STR, "Tdata") && strcmp (STR, "Ttext") \ && strcmp (STR, "Tbss")) -/* You should redefine CPP_PREDEFINES in any file which includes this one. - The definition should be appropriate for the type of target system - involved, and it should include any -A (assertion) options which are - appropriate for the given target system. */ -#undef CPP_PREDEFINES - /* Provide an ASM_SPEC appropriate for svr4. Here we try to support as many of the specialized svr4 assembler options as seems reasonable, given that there are certain options which we can't (or shouldn't) diff --git a/gcc/config/svr3.h b/gcc/config/svr3.h index 12e168ac68f..7fa2b4b9079 100644 --- a/gcc/config/svr3.h +++ b/gcc/config/svr3.h @@ -30,13 +30,6 @@ Boston, MA 02111-1307, USA. #include "?????.h" #include "svr3.h" - - followed by any really system-specific defines (or overrides of - defines) which you find that you need. For example, CPP_PREDEFINES - is defined here with only the defined -Dunix and -DSVR3. You should - probably override that in your target-specific ?????svr3.h file - with a set of defines that includes these, but also contains an - appropriate define for the type of hardware that you are targeting. */ /* Define a symbol indicating that we are using svr3.h. */ @@ -46,14 +39,7 @@ Boston, MA 02111-1307, USA. environment and assembler syntax we are targeting for. */ #define SVR3_target -/* Cpp, assembler, linker, library, and startfile spec's. */ - -/* You should redefine CPP_PREDEFINES in any file which includes this one. - The definition should be appropriate for the type of target system - involved, and it should include any -A (assertion) options which are - appropriate for the given target system. */ - -#undef CPP_PREDEFINES +/* Assembler, linker, library, and startfile spec's. */ /* Output at beginning of assembler file. */ /* The .file command should always begin the output. */ diff --git a/gcc/config/svr4.h b/gcc/config/svr4.h index 029ad2ccace..3f85e944dee 100644 --- a/gcc/config/svr4.h +++ b/gcc/config/svr4.h @@ -28,11 +28,7 @@ Boston, MA 02111-1307, USA. where MACHINE is replaced by the name of the basic hardware that you are targeting for. Then, in the file MACHINE/svr4.h, put any really system-specific defines (or overrides of defines) which you find that - you need. For example, CPP_PREDEFINES is defined here with only the - defined -Dunix and -DSVR4. You should probably override that in your - target-specific MACHINE/svr4.h file with a set of defines that - includes these, but also contains an appropriate define for the type - of hardware that you are targeting. + you need. */ /* Define a symbol indicating that we are using svr4.h. */ @@ -59,12 +55,6 @@ Boston, MA 02111-1307, USA. && strcmp (STR, "Tdata") && strcmp (STR, "Ttext") \ && strcmp (STR, "Tbss")) -/* You should redefine CPP_PREDEFINES in any file which includes this one. - The definition should be appropriate for the type of target system - involved, and it should include any -A (assertion) options which are - appropriate for the given target system. */ -#undef CPP_PREDEFINES - /* Provide an ASM_SPEC appropriate for svr4. Here we try to support as many of the specialized svr4 assembler options as seems reasonable, given that there are certain options which we can't (or shouldn't) diff --git a/gcc/defaults.h b/gcc/defaults.h index f0f38a5204e..5f72bfd2b81 100644 --- a/gcc/defaults.h +++ b/gcc/defaults.h @@ -47,17 +47,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA # define TARGET_ESC 033 #endif -/* When removal of CPP_PREDEFINES is complete, TARGET_CPU_CPP_BULITINS - can also be removed from here. */ #ifndef TARGET_OS_CPP_BUILTINS # define TARGET_OS_CPP_BUILTINS() #endif -#ifndef TARGET_CPU_CPP_BUILTINS -# define TARGET_CPU_CPP_BUILTINS() -#endif -#ifndef CPP_PREDEFINES -# define CPP_PREDEFINES "" -#endif /* Store in OUTPUT a string (made with alloca) containing an assembler-name for a local static variable or function named NAME. diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 01b49753dc3..8b22dbc2a0b 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -650,40 +650,11 @@ variable @code{flag_iso} can be used. The function-like macro @code{preprocessing_trad_p()} can be used to check for traditional preprocessing. -With @code{TARGET_OS_CPP_BUILTINS} this macro obsoletes the -@code{CPP_PREDEFINES} target macro. - @findex TARGET_OS_CPP_BUILTINS @item TARGET_OS_CPP_BUILTINS() Similarly to @code{TARGET_CPU_CPP_BUILTINS} but this macro is optional and is used for the target operating system instead. -With @code{TARGET_CPU_CPP_BUILTINS} this macro obsoletes the -@code{CPP_PREDEFINES} target macro. - -@findex CPP_PREDEFINES -@item CPP_PREDEFINES -Define this to be a string constant containing @option{-D} options to -define the predefined macros that identify this machine and system. -These macros will be predefined unless the @option{-ansi} option (or a -@option{-std} option for strict ISO C conformance) is specified. - -In addition, a parallel set of macros are predefined, whose names are -made by appending @samp{__} at the beginning and at the end. These -@samp{__} macros are permitted by the ISO standard, so they are -predefined regardless of whether @option{-ansi} or a @option{-std} option -is specified. - -For example, on the Sun, one can use the following value: - -@smallexample -"-Dmc68000 -Dsun -Dunix" -@end smallexample - -The result is to define the macros @code{__mc68000__}, @code{__sun__} -and @code{__unix__} unconditionally, and the macros @code{mc68000}, -@code{sun} and @code{unix} provided @option{-ansi} is not specified. - @findex extern int target_flags @item extern int target_flags; This declaration should be present. diff --git a/gcc/gcc.c b/gcc/gcc.c index c34f4e86cef..093742866da 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -448,11 +448,6 @@ or with constant text in a single argument. except that %g, %u, and %U do not currently support additional SUFFIX characters following %O as they would following, for example, `.o'. - %p substitutes the standard macro predefinitions for the - current target machine. Use this when running cpp. - %P like %p, but puts `__' before and after the name of each macro. - (Except macros that already have __.) - This is for ANSI C. %I Substitute any of -iprefix (made from GCC_EXEC_PREFIX), -isysroot (made from TARGET_SYSTEM_ROOT), and -isystem (made from COMPILER_PATH and -B options) as necessary. @@ -701,7 +696,6 @@ proper position among the other output files. */ static const char *asm_debug; static const char *cpp_spec = CPP_SPEC; -static const char *cpp_predefines = CPP_PREDEFINES; static const char *cc1_spec = CC1_SPEC; static const char *cc1plus_spec = CC1PLUS_SPEC; static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC; @@ -740,8 +734,7 @@ static const char *cpp_unique_options = %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}}\ %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*}\ %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}}\ - %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs}\ - %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i\ + %{trigraphs} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i\ %{E|M|MM:%W{o*}}"; /* This contains cpp options which are common with cc1_options and are passed @@ -1467,7 +1460,6 @@ static struct spec_list static_specs[] = INIT_STATIC_SPEC ("libgcc", &libgcc_spec), INIT_STATIC_SPEC ("startfile", &startfile_spec), INIT_STATIC_SPEC ("switches_need_spaces", &switches_need_spaces), - INIT_STATIC_SPEC ("predefines", &cpp_predefines), INIT_STATIC_SPEC ("cross_compile", &cross_compile), INIT_STATIC_SPEC ("version", &compiler_version), INIT_STATIC_SPEC ("multilib", &multilib_select), @@ -4968,167 +4960,6 @@ do_spec_1 (spec, inswitch, soft_matched_part) } break; - case 'p': - { - char *x = (char *) alloca (strlen (cpp_predefines) + 1); - char *buf = x; - const char *y; - - /* Copy all of the -D options in CPP_PREDEFINES into BUF. */ - y = cpp_predefines; - while (*y != 0) - { - if (! strncmp (y, "-D", 2)) - /* Copy the whole option. */ - while (*y && *y != ' ' && *y != '\t') - *x++ = *y++; - else if (*y == ' ' || *y == '\t') - /* Copy whitespace to the result. */ - *x++ = *y++; - /* Don't copy other options. */ - else - y++; - } - - *x = 0; - - value = do_spec_1 (buf, 0, NULL); - if (value != 0) - return value; - } - break; - - case 'P': - { - char *x = (char *) alloca (strlen (cpp_predefines) * 4 + 1); - char *buf = x; - const char *y; - - /* Copy all of CPP_PREDEFINES into BUF, - but force them all into the reserved name space if they - aren't already there. The reserved name space is all - identifiers beginning with two underscores or with one - underscore and a capital letter. We do the forcing by - adding up to two underscores to the beginning and end - of each symbol. e.g. mips, _mips, mips_, and _mips_ all - become __mips__. */ - y = cpp_predefines; - while (*y != 0) - { - if (! strncmp (y, "-D", 2)) - { - int flag = 0; - - *x++ = *y++; - *x++ = *y++; - - if (*y != '_' - || (*(y + 1) != '_' - && ! ISUPPER ((unsigned char) *(y + 1)))) - { - /* Stick __ at front of macro name. */ - if (*y != '_') - *x++ = '_'; - *x++ = '_'; - /* Arrange to stick __ at the end as well. */ - flag = 1; - } - - /* Copy the macro name. */ - while (*y && *y != '=' && *y != ' ' && *y != '\t') - *x++ = *y++; - - if (flag) - { - if (x[-1] != '_') - { - if (x[-2] != '_') - *x++ = '_'; - *x++ = '_'; - } - } - - /* Copy the value given, if any. */ - while (*y && *y != ' ' && *y != '\t') - *x++ = *y++; - } - else if (*y == ' ' || *y == '\t') - /* Copy whitespace to the result. */ - *x++ = *y++; - /* Don't copy -A options */ - else - y++; - } - *x++ = ' '; - - /* Copy all of CPP_PREDEFINES into BUF, - but put __ after every -D. */ - y = cpp_predefines; - while (*y != 0) - { - if (! strncmp (y, "-D", 2)) - { - y += 2; - - if (*y != '_' - || (*(y + 1) != '_' - && ! ISUPPER ((unsigned char) *(y + 1)))) - { - /* Stick -D__ at front of macro name. */ - *x++ = '-'; - *x++ = 'D'; - if (*y != '_') - *x++ = '_'; - *x++ = '_'; - - /* Copy the macro name. */ - while (*y && *y != '=' && *y != ' ' && *y != '\t') - *x++ = *y++; - - /* Copy the value given, if any. */ - while (*y && *y != ' ' && *y != '\t') - *x++ = *y++; - } - else - { - /* Do not copy this macro - we have just done it before */ - while (*y && *y != ' ' && *y != '\t') - y++; - } - } - else if (*y == ' ' || *y == '\t') - /* Copy whitespace to the result. */ - *x++ = *y++; - /* Don't copy -A options. */ - else - y++; - } - *x++ = ' '; - - /* Copy all of the -A options in CPP_PREDEFINES into BUF. */ - y = cpp_predefines; - while (*y != 0) - { - if (! strncmp (y, "-A", 2)) - /* Copy the whole option. */ - while (*y && *y != ' ' && *y != '\t') - *x++ = *y++; - else if (*y == ' ' || *y == '\t') - /* Copy whitespace to the result. */ - *x++ = *y++; - /* Don't copy other options. */ - else - y++; - } - - *x = 0; - - value = do_spec_1 (buf, 0, NULL); - if (value != 0) - return value; - } - break; - case 'R': /* We assume there is a directory separator at the end of this string. */ diff --git a/gcc/system.h b/gcc/system.h index 9cca06f9fd1..f839f6411c6 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -628,7 +628,7 @@ typedef char _Bool; /* Other obsolete target macros, or macros that used to be in target headers and were not used, and may be obsolete or may never have been used. */ - #pragma GCC poison INT_ASM_OP ASM_OUTPUT_EH_REGION_BEG \ + #pragma GCC poison INT_ASM_OP ASM_OUTPUT_EH_REGION_BEG CPP_PREDEFINES \ ASM_OUTPUT_EH_REGION_END ASM_OUTPUT_LABELREF_AS_INT \ DOESNT_NEED_UNWINDER EH_TABLE_LOOKUP OBJC_SELECTORS_WITHOUT_LABELS \ OMIT_EH_TABLE EASY_DIV_EXPR IMPLICIT_FIX_EXPR \