aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/lang-specs.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@wolery.cumb.org>2000-07-13 07:14:13 +0000
committerZack Weinberg <zack@gcc.gnu.org>2000-07-13 07:14:13 +0000
commitea414c9749d55f53d308783f203952f1239596b7 (patch)
treeb97fcab509348e7c18c9ecbc2cb4f89b06acf1c4 /gcc/f/lang-specs.h
parent450624947fdcedff2808937c1788894353f288a0 (diff)
downloadgcc-ea414c9749d55f53d308783f203952f1239596b7.zip
gcc-ea414c9749d55f53d308783f203952f1239596b7.tar.gz
gcc-ea414c9749d55f53d308783f203952f1239596b7.tar.bz2
gcc.c (do_spec_1): Add new %B operator.
* 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. From-SVN: r35008
Diffstat (limited to 'gcc/f/lang-specs.h')
-rw-r--r--gcc/f/lang-specs.h88
1 files changed, 20 insertions, 68 deletions
diff --git a/gcc/f/lang-specs.h b/gcc/f/lang-specs.h
index bca41d3..5d1852e 100644
--- a/gcc/f/lang-specs.h
+++ b/gcc/f/lang-specs.h
@@ -24,77 +24,29 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* This is the contribution to the `default_compilers' array in gcc.c for
g77. */
- {".F", {"@f77-cpp-input"}},
- {".fpp", {"@f77-cpp-input"}},
- {".FPP", {"@f77-cpp-input"}},
+ {".F", "@f77-cpp-input"},
+ {".fpp", "@f77-cpp-input"},
+ {".FPP", "@f77-cpp-input"},
{"@f77-cpp-input",
- /* For f77 we want -traditional to avoid errors with, for
- instance, mismatched '. Also, we avoid unpleasant surprises
- with substitution of names not prefixed by `_' by using %P
- rather than %p (although this isn't consistent with SGI and
- Sun f77, at least) so you test `__unix' rather than `unix'.
- -D_LANGUAGE_FORTRAN is used by some compilers like SGI and
- might as well be in there. */
- {"tradcpp -lang-fortran %{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__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3}\
- %{!undef:%P} \
- %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}} \
- %{ffast-math:-D__FAST_MATH__}\
- %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\
- %i %{!M:%{!MM:%{!E:%{!pipe:%g.i}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n",
- "%{!M:%{!MM:%{!E:f771 %{!pipe:%g.i} %1 %(f771) \
- %{!Q:-quiet} -dumpbase %b.F %{d*} %{m*} %{a*}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*} \
- %{v:-version -fversion} %{pg:-p} %{p} %{f*} %{I*}\
- %{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 }}}}"}},
- {".r", {"@ratfor"}},
+ "tradcpp -lang-fortran %(cpp_options) %{!M:%{!MM:%{!E:%{!pipe:%g.f |\n\
+ f771 %{!pipe:%g.f} %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
+ as %(asm_options) %{!pipe:%g.s} %A }}}}}\n"},
+ {".r", "@ratfor"},
{"@ratfor",
- {"ratfor %{C} %{v}\
- %{C:%{!E:%eGNU C does not support -C without using -E}}\
- %{!E:%{!pipe:-o %g.f}}%{E:%W{o*}} %i |\n",
- "%{!E:f771 %{!pipe:%g.f} %1 %(f771) \
- %{!Q:-quiet} -dumpbase %b.r %{d*} %{m*} %{a*}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*} \
- %{v:-version -fversion} %{pg:-p} %{p} %{f*} %{I*}\
- %{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 }}"}},
- {".f", {"@f77"}},
- {".for", {"@f77"}},
- {".FOR", {"@f77"}},
+ "%{C:%{!E:%eGNU C does not support -C without using -E}}\
+ ratfor %{C} %{v} %i %{E:%W{o*}} %{!E: %{!pipe:-o %g.f} |\n\
+ f771 %{!pipe:%g.f} %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
+ as %(asm_options) %{!pipe:%g.s} %A }}\n"},
+ {".f", "@f77"},
+ {".for", "@f77"},
+ {".FOR", "@f77"},
{"@f77",
- {"%{!M:%{!MM:%{!E:f771 %i %1 %(f771) \
- %{!Q:-quiet} -dumpbase %b.f %{d*} %{m*} %{a*}\
- %{g*} %{O*} %{W*} %{w} %{pedantic*}\
- %{v:-version -fversion} %{pg:-p} %{p} %{f*} %{I*}\
- %{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:f771 %i %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
+ as %(asm_options) %{!pipe:%g.s} %A }}}}\n"},
+ /* XXX This is perverse and should not be necessary. */
{"@f77-version",
- {"tradcpp -lang-fortran %{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__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3} \
- %{ansi:-trigraphs -$ -D__STRICT_ANSI__} \
- %{!undef:%P} -D_LANGUAGE_FORTRAN %{trigraphs} \
- %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}} -traditional \
- %{ffast-math:-D__FAST_MATH__}\
- %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z \
- /dev/null /dev/null \n\
- f771 -fnull-version %1 %(f771) \
+ "tradcpp -lang-fortran %(cpp_options) /dev/null /dev/null \n\
+ f771 -fnull-version %1 \
%{!Q:-quiet} -dumpbase g77-version.f %{d*} %{m*} %{a*} \
%{g*} %{O*} %{W*} %{w} %{pedantic*} \
-version -fversion %{f*} %{I*} -o %g.s /dev/null \n\
@@ -106,4 +58,4 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
%{!nostdlib:%{!nodefaultlibs:%G %L %G}} \
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} \
%{T*} \n\
- %g \n"}},
+ %g \n"},