diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/lang-specs.h | 4 | ||||
-rw-r--r-- | gcc/gcc.c | 7 |
4 files changed, 16 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b0b5810..bdbc55b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-07-19 Chris Demetriou <cgd@broadcom.com> + + * gcc.c (cpp_options): Include "%1" (cc1_spec). + 2002-07-19 Richard Henderson <rth@redhat.com> * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index de620fe..c60f8bd 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2002-07-19 Chris Demetriou <cgd@broadcom.com> + + * lang-specs.h (@c++): Include "%2" (cc1plus_spec) wherever + cpp_options is included. + 2002-07-17 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> PR c++/2862, c++/2863 diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h index 8d220ee..419fa92 100644 --- a/gcc/cp/lang-specs.h +++ b/gcc/cp/lang-specs.h @@ -39,7 +39,7 @@ Boston, MA 02111-1307, USA. */ %{!Wno-deprecated:-D__DEPRECATED}\ %{!fno-exceptions:-D__EXCEPTIONS}\ -D__GXX_ABI_VERSION=100\ - %{ansi:-D__STRICT_ANSI__ -trigraphs -$} %(cpp_options)\ + %{ansi:-D__STRICT_ANSI__ -trigraphs -$} %(cpp_options) %2\ %(cpp_debug_options)}\ %{!E:%{!M:%{!MM:\ %{save-temps:cc1plus -E \ @@ -48,7 +48,7 @@ Boston, MA 02111-1307, USA. */ %{!fno-exceptions:-D__EXCEPTIONS}\ -D__GXX_ABI_VERSION=100\ %{ansi:-D__STRICT_ANSI__ -trigraphs -$}\ - %(cpp_options) %b.ii \n}\ + %(cpp_options) %2 %b.ii \n}\ cc1plus %{save-temps:-fpreprocessed %b.ii}\ %{!save-temps:%(cpp_unique_options)\ %{!no-gcc:-D__GNUG__=%v1} \ @@ -691,9 +691,12 @@ static const char *cpp_unique_options = %{E|M|MM:%W{o*}}"; /* This contains cpp options which are common with cc1_options and are passed - only when preprocessing only to avoid duplication. */ + only when preprocessing only to avoid duplication. We pass the cc1 spec + options to the preprocessor so that it the cc1 spec may manipulate + options used to set target flags. Those special target flags settings may + in turn cause preprocessor symbols to be defined specially. */ static const char *cpp_options = -"%(cpp_unique_options) %{std*} %{W*&pedantic*} %{w} %{m*} %{f*}\ +"%(cpp_unique_options) %1 %{std*} %{W*&pedantic*} %{w} %{m*} %{f*}\ %{O*} %{undef}"; /* This contains cpp options which are not passed when the preprocessor |