From: Neil Booth Date: Thu, 1 Aug 2002 06:25:06 +0000 (+0000) Subject: c-common.c (cb_register_builtins): If C++, define __EXCEPTIONS, __DEPRECATED and... X-Git-Tag: releases/gcc-3.3.0~3516 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=abecfc8f7b738d589ff9cb67655b13262a79fb0a;p=thirdparty%2Fgcc.git c-common.c (cb_register_builtins): If C++, define __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate. * c-common.c (cb_register_builtins): If C++, define __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate. * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION. cp: * lang-specs.h: Simplify in accordance with new code in c-common.c. From-SVN: r55924 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 49a41f816be5..f467337dcd97 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2002-08-01 Neil Booth + + * c-common.c (cb_register_builtins): If C++, define + __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate. + * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION. +cp: + * lang-specs.h: Simplify in accordance with new code in + c-common.c. + 2002-08-01 Neil Booth * c-common.c: Define all C/ObjC/C++ warning and flag variables. diff --git a/gcc/c-common.c b/gcc/c-common.c index 7eb391a768af..784cc643e2f8 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -4728,6 +4728,11 @@ cb_register_builtins (pfile) cpp_define (pfile, "__GXX_WEAK__=1"); else cpp_define (pfile, "__GXX_WEAK__=0"); + if (flag_exceptions) + cpp_define (pfile, "__EXCEPTIONS"); + if (warn_deprecated) + cpp_define (pfile, "__DEPRECATED"); + cpp_define (pfile, "__GXX_ABI_VERSION__=101"); } /* libgcc needs to know this. */ diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h index f35ff716adfc..7b8711666a67 100644 --- a/gcc/cp/lang-specs.h +++ b/gcc/cp/lang-specs.h @@ -33,28 +33,16 @@ Boston, MA 02111-1307, USA. */ {".c++", "@c++", 0}, {".C", "@c++", 0}, {"@c++", - /* cc1plus has an integrated ISO C preprocessor. We should invoke - the external preprocessor if -save-temps is given. */ + /* We should convert -ansi to -std=c++98 even if -fpreprocessed, + to get dollars in identifiers correct. */ "%{E|M|MM:cc1plus -E %{!no-gcc:-D__GNUG__=%v1}\ - %{!Wno-deprecated:-D__DEPRECATED}\ - %{!fno-exceptions:-D__EXCEPTIONS}\ - %{ansi:-D__STRICT_ANSI__ -trigraphs -$} %(cpp_options) %2\ - %(cpp_debug_options)}\ + %{ansi:-std=c++98} %(cpp_options) %2 %(cpp_debug_options)}\ %{!E:%{!M:%{!MM:\ - %{save-temps:cc1plus -E \ - %{!no-gcc:-D__GNUG__=%v1}\ - %{!Wno-deprecated:-D__DEPRECATED}\ - %{!fno-exceptions:-D__EXCEPTIONS}\ - %{ansi:-D__STRICT_ANSI__ -trigraphs -$}\ - %(cpp_options) %2 %b.ii \n}\ + %{save-temps:cc1plus -E %{!no-gcc:-D__GNUG__=%v1}\ + %{ansi:-std=c++98} %(cpp_options) %2 %b.ii \n}\ cc1plus %{save-temps:-fpreprocessed %b.ii}\ - %{!save-temps:%(cpp_unique_options)\ - %{!no-gcc:-D__GNUG__=%v1} \ - %{!Wno-deprecated:-D__DEPRECATED}\ - %{!fno-exceptions:-D__EXCEPTIONS}\ - %{ansi:-D__STRICT_ANSI__}}\ - %{ansi:-trigraphs -$}\ - %(cc1_options) %2 %{+e1*}\ + %{!save-temps:%(cpp_unique_options) %{!no-gcc:-D__GNUG__=%v1}}\ + %{ansi:-std=c++98} %(cc1_options) %2 %{+e1*}\ %{!fsyntax-only:%(invoke_as)}}}}", CPLUSPLUS_CPP_SPEC}, {".ii", "@c++-cpp-output", 0}, diff --git a/gcc/gcc.c b/gcc/gcc.c index cd55240df720..4e1ba5d6dce4 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -675,7 +675,7 @@ static const char *cpp_unique_options = %{MMD:-MMD %W{!o: %b.d}%W{o*:%.d%*}}\ %{M} %{MM} %W{MF*} %{MG} %{MP} %{MQ*} %{MT*}\ %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}}\ - %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3 -D__GXX_ABI_VERSION=101}\ + %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3}\ %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs}\ %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i\ %{E|M|MM:%W{o*}}";