From: neil Date: Thu, 1 Aug 2002 06:25:06 +0000 (+0000) Subject: * c-common.c (cb_register_builtins): If C++, define X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=10cafc5edd44868ddc4b66ce1c10a84e60960b27;p=pf3gnuchains%2Fgcc-fork.git * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55924 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 49a41f816be..f467337dcd9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,14 @@ 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. * c-common.h: Declare all C/ObjC/C++ warning and flag variables. * c-decl.c: Move all warning and flag variables to c-common.c. diff --git a/gcc/c-common.c b/gcc/c-common.c index 7eb391a768a..784cc643e2f 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 f35ff716adf..7b8711666a6 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 cd55240df72..4e1ba5d6dce 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*}}";