aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/lang-specs.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/lang-specs.h')
-rw-r--r--gcc/cp/lang-specs.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index 67a3ecbe3e8..d54731203a9 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -32,6 +32,20 @@ Boston, MA 02111-1307, USA. */
{".cpp", "@c++", 0},
{".c++", "@c++", 0},
{".C", "@c++", 0},
+ {"@c++-header",
+ "%{E|M|MM:%(cpp0) -lang-c++ %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
+ %{!no-gcc:-D__GNUG__=%v1}\
+ %{fnew-abi:-D__GXX_ABI_VERSION=100}\
+ %{fembedded-cxx:-D__EMBEDDED_CXX__} \
+ %(cpp_options)} "
+ "%{!E:cc1plus -lang-c++ %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
+ %{!no-gcc:-D__GNUG__=%v1}\
+ %{fnew-abi:-D__GXX_ABI_VERSION=100}\
+ %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
+ %{fembedded-cxx:-D__EMBEDDED_CXX__} \
+ %(cpp_options) %(cc1_options)\
+ -o %g.s %{!o*:-foutput-pch=%i.pch} %W{^o*:-foutput-pch=%*}%V} "
+ },
{"@c++",
/* cc1plus has an integrated ISO C preprocessor. We should invoke
the external preprocessor if -save-temps is given. */
@@ -48,6 +62,14 @@ Boston, MA 02111-1307, USA. */
-D__GXX_ABI_VERSION=100\
%{ansi:-D__STRICT_ANSI__ -trigraphs -$}\
%(cpp_options) %b.ii \n}\
+ %{fauto-pch:%{!fsyntax-only:%{!save-temps: %{<fauto-pch} \
+ cc1plus -lang-c++\
+ %{!no-gcc:-D__GNUG__=%v1}\
+ %{fnew-abi:-D__GXX_ABI_VERSION=100}\
+ %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
+ %{fembedded-cxx:-D__EMBEDDED_CXX__} \
+ %(cpp_options) %(cc1_options) %{+e*} \
+ -fauto-pch %{!S:-o %g.s}\n}}}\
cc1plus %{save-temps:-fpreprocessed %b.ii}\
%{!save-temps:%(cpp_options)\
%{!no-gcc:-D__GNUG__=%v1} \