summaryrefslogtreecommitdiffstats
path: root/gcc/cp/lang-specs.h
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-13 07:14:13 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-13 07:14:13 +0000
commit1cf79a1aab2762c587bd954504a27cc5fbde809c (patch)
treeb97fcab509348e7c18c9ecbc2cb4f89b06acf1c4 /gcc/cp/lang-specs.h
parent58db67c10a683be3be6e4ea2b4e72672f90ef0ad (diff)
downloadppe42-gcc-1cf79a1aab2762c587bd954504a27cc5fbde809c.tar.gz
ppe42-gcc-1cf79a1aab2762c587bd954504a27cc5fbde809c.zip
* gcc.c (do_spec_1): Add new %B operator.
(set_input): Prepare for %B. (link_command_spec): Move up with the other tm.h- overrideable specs. Factor out the portion conditional on LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc). (struct compiler): Just have a single spec string. All users updated. (default_compilers): Remove unnecessary braces. (static_specs): Update. (trad_capable_cpp, cpp_options, cc1_options, asm_options): New named specs. (C and assembly specs): Use the new named specs, as appropriate. * objc/lang-specs.h, ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h, java/lang-specs.h: Use the new named specs. Remove unnecessary braces. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35008 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/lang-specs.h')
-rw-r--r--gcc/cp/lang-specs.h102
1 files changed, 26 insertions, 76 deletions
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
index 804a079d574..04025a523fa 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -22,84 +22,34 @@ Boston, MA 02111-1307, USA. */
/* This is the contribution to the `default_compilers' array in gcc.c for
g++. */
- {".cc", {"@c++"}},
- {".cp", {"@c++"}},
- {".cxx", {"@c++"}},
- {".cpp", {"@c++"}},
- {".c++", {"@c++"}},
- {".C", {"@c++"}},
+ {".cc", "@c++"},
+ {".cp", "@c++"},
+ {".cxx", "@c++"},
+ {".cpp", "@c++"},
+ {".c++", "@c++"},
+ {".C", "@c++"},
{"@c++",
#if USE_CPPLIB
- {
- "%{E|M|MM:cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
- %{C:%{!E:%eGNU C++ does not support -C without using -E}}\
- %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
- %{!no-gcc:-D__GNUC__=%v1 -D__GNUG__=%v1 -D__GNUC_MINOR__=%v2\
- -D__GNUC_PATCHLEVEL__=%v3} -D__cplusplus\
- %{ansi:-trigraphs -D__STRICT_ANSI__} %{!undef:%{!ansi:%p} %P}\
- %{!fno-exceptions:-D__EXCEPTIONS}\
- %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}} %{trigraphs}\
- %{ffast-math:-D__FAST_MATH__}\
- %{fshort-wchar:-D__WCHAR_TYPE__=short\\ unsigned\\ int}\
- %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\
- %i %{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}}\n}\
- %{!E:%{!M:%{!MM:cc1plus %i %1 %2\
- -lang-c++ %{nostdinc*} %{C} %{A*} %{I*} %{P} %{$} %I\
- %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
- %{!no-gcc:-D__GNUC__=%v1 -D__GNUG__=%v1\
- -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3}\
- -D__cplusplus\
- %{ansi:-trigraphs -D__STRICT_ANSI__} %{!undef:%{!ansi:%p} %P}\
- %{!fno-exceptions:-D__EXCEPTIONS}\
- %{fnew-abi:-D__GXX_ABI_VERSION=100}\
- %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\
- %{ffast-math:-D__FAST_MATH__}\
- %{fshort-wchar:-D__WCHAR_TYPE__=short\\ unsigned\\ int}\
- %{trigraphs}\
- %{!Q:-quiet} -dumpbase %b.cc %{d*} %{m*} %{a}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi}\
- %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\
- %{v:-version} %{pg:-p} %{p}\
- %{f*} %{+e*} %{aux-info*} %{Qn:-fno-ident}\
- %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
- %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}}|\n\
- %{!S:%{!fsyntax-only:as %a %Y\
- %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
- %{!pipe:%g.s} %A\n }}}}}"}},
+ "%{E|M|MM:cpp -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
+ %{fnew-abi:-D__GXX_ABI_VERSION=100}\
+ %{ansi:-trigraphs -$ -D__STRICT_ANSI__} %(cpp_options)}\
+ %{!E:%{!M:%{!MM:cc1plus -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
+ %{fnew-abi:-D__GXX_ABI_VERSION=100}\
+ %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
+ %(cpp_options) %(cc1_options) %{+e*}\
+ %{!S:-o %{|!pipe:%g.s} |\n\
+ as %(asm_options) %{!pipe:%g.s} %A }}}}"
#else /* ! USE_CPPLIB */
- {"cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\
- %{C:%{!E:%eGNU C++ does not support -C without using -E}}\
- %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
- %{!no-gcc:-D__GNUC__=%v1 -D__GNUG__=%v1 -D__GNUC_MINOR__=%v2\
- -D__GNUC_PATCHLEVEL__=%v3} -D__cplusplus\
- %{ansi:-trigraphs -D__STRICT_ANSI__} %{!undef:%{!ansi:%p} %P}\
- %{!fno-exceptions:-D__EXCEPTIONS}\
- %{fnew-abi:-D__GXX_ABI_VERSION=100}\
- %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}} %{trigraphs}\
- %{ffast-math:-D__FAST_MATH__}\
- %{fshort-wchar:-D__WCHAR_TYPE__=short\\ unsigned\\ int}\
- %{fshow-column} %{fno-show-column}\
- %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\
- %i %{!M:%{!MM:%{!E:%{!pipe:%g.ii}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n",
- "%{!M:%{!MM:%{!E:cc1plus %{!pipe:%g.ii} %1 %2\
- %{!Q:-quiet} -dumpbase %b.cc %{d*} %{m*} %{a}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi}\
- %{v:-version} %{pg:-p} %{p}\
- %{f*} %{+e*} %{aux-info*} %{Qn:-fno-ident}\
- %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
- %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}}|\n\
- %{!S:%{!fsyntax-only:as %a %Y\
- %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
- %{!pipe:%g.s} %A\n }}}}}"}},
+ "cpp -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
+ %{fnew-abi:-D__GXX_ABI_VERSION=100}\
+ %{ansi:-trigraphs -$ -D__STRICT_ANSI__} %(cpp_options)\
+ %{!M:%{!MM:%{!E:%{!pipe:%g.ii} |\n\
+ cc1plus %{!pipe:%g.ii} %(cc1_options) %{+e*} %{!S:-o %{|!pipe:%g.s} |\n\
+ as %(asm_options) %{!pipe:%g.s} %A }}}}\n"
#endif /* ! USE_CPPLIB */
- {".ii", {"@c++-cpp-output"}},
+ },
+ {".ii", "@c++-cpp-output"},
{"@c++-cpp-output",
- {"%{!M:%{!MM:%{!E:cc1plus %i %1 %2 %{!Q:-quiet} %{d*} %{m*} %{a}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi}\
- %{v:-version} %{pg:-p} %{p} -fpreprocessed\
- %{f*} %{+e*} %{aux-info*} %{Qn:-fno-ident}\
- %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
- %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
- %{!S:as %a %Y\
- %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}\
- %{!pipe:%g.s} %A\n }}}}"}},
+ "%{!M:%{!MM:%{!E:\
+ cc1plus -fpreprocessed %{!pipe:%g.ii} %(cc1_options) %{+e*}\
+ %{!S:-o %{|!pipe:%g.s} |\n as %(asm_options) %{!pipe:%g.s} %A }}}}"},
OpenPOWER on IntegriCloud