Commit ea414c97 by Zack Weinberg Committed by Zack Weinberg

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
parent 45062494
2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
* 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: Use the new named specs.
Remove unnecessary braces.
2000-07-12 Zack Weinberg <zack@wolery.cumb.org> 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
* gcc.c (execute): If a subprocess gets a fatal signal, report * gcc.c (execute): If a subprocess gets a fatal signal, report
......
2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
* lang-specs.h: Use the new named specs. Remove unnecessary braces.
2000-06-13 Jakub Jelinek <jakub@redhat.com> 2000-06-13 Jakub Jelinek <jakub@redhat.com>
* decl.c (init_decl_processing): Set TYPE_USER_ALIGN. * decl.c (init_decl_processing): Set TYPE_USER_ALIGN.
......
...@@ -21,24 +21,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -21,24 +21,10 @@ Boston, MA 02111-1307, USA. */
/* This is the contribution to the `default_compilers' array in gcc.c for /* This is the contribution to the `default_compilers' array in gcc.c for
CHILL. */ CHILL. */
{".ch", {"@chill"}}, {".ch", "@chill"},
{".chi", {"@chill"}}, {".chi", "@chill"},
{"@chill", {"@chill",
{"tradcpp -lang-chill %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\ "tradcpp -lang-chill %{!no-gcc:-D__GNUCHILL__=%v1} %(cpp_options)\
%{C:%{!E:%eGNU CHILL does not support -C without using -E}}\ %{!M:%{!MM:%{!E:%{!pipe:%g.i} |\n\
%{!no-gcc:-D__GNUCHILL__=%v1 -D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3}\ cc1chill %{!pipe:%g.i} %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
%c %{Os:-D__OPTIMIZE_SIZE__} %{O*:-D__OPTIMIZE__} \ as %(asm_options) %{!pipe:%g.s} %A }}}}\n"},
%{!undef:%{!ansi:%p} %P} \
%{fshow-column} %{fno-show-column}\
%{g*} %{W*} %{w} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\
%i %{!E:%g.i}%{E:%W{o*}} \n",
"%{!E:cc1chill %g.i %1 \
%{!Q:-quiet} -dumpbase %b.ch %{d*} %{m*} %{a}\
%{g*} %{O*} %{W*} %{w} %{pedantic*} %{itu} \
%{v:-version} %{pg:-p} %{p} %{f*} %{I*} \
%{aux-info*} %{Qn:-fno-ident} %X \
%{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 }}"}},
2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
* lang-specs.h: Use the new named specs. Remove unnecessary braces.
2000-07-12 Mark Mitchell <mark@codesourcery.com> 2000-07-12 Mark Mitchell <mark@codesourcery.com>
* Makefile.in ($(PARSE_H)): Depend directly on parse.y. * Makefile.in ($(PARSE_H)): Depend directly on parse.y.
......
...@@ -22,84 +22,34 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,84 +22,34 @@ Boston, MA 02111-1307, USA. */
/* This is the contribution to the `default_compilers' array in gcc.c for /* This is the contribution to the `default_compilers' array in gcc.c for
g++. */ g++. */
{".cc", {"@c++"}}, {".cc", "@c++"},
{".cp", {"@c++"}}, {".cp", "@c++"},
{".cxx", {"@c++"}}, {".cxx", "@c++"},
{".cpp", {"@c++"}}, {".cpp", "@c++"},
{".c++", {"@c++"}}, {".c++", "@c++"},
{".C", {"@c++"}}, {".C", "@c++"},
{"@c++", {"@c++",
#if USE_CPPLIB #if USE_CPPLIB
{ "%{E|M|MM:cpp -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
"%{E|M|MM:cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\ %{fnew-abi:-D__GXX_ABI_VERSION=100}\
%{C:%{!E:%eGNU C++ does not support -C without using -E}}\ %{ansi:-trigraphs -$ -D__STRICT_ANSI__} %(cpp_options)}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\ %{!E:%{!M:%{!MM:cc1plus -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUG__=%v1 -D__GNUC_MINOR__=%v2\ %{fnew-abi:-D__GXX_ABI_VERSION=100}\
-D__GNUC_PATCHLEVEL__=%v3} -D__cplusplus\ %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
%{ansi:-trigraphs -D__STRICT_ANSI__} %{!undef:%{!ansi:%p} %P}\ %(cpp_options) %(cc1_options) %{+e*}\
%{!fno-exceptions:-D__EXCEPTIONS}\ %{!S:-o %{|!pipe:%g.s} |\n\
%c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}} %{trigraphs}\ as %(asm_options) %{!pipe:%g.s} %A }}}}"
%{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 }}}}}"}},
#else /* ! USE_CPPLIB */ #else /* ! USE_CPPLIB */
{"cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\ "cpp -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
%{C:%{!E:%eGNU C++ does not support -C without using -E}}\ %{fnew-abi:-D__GXX_ABI_VERSION=100}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\ %{ansi:-trigraphs -$ -D__STRICT_ANSI__} %(cpp_options)\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUG__=%v1 -D__GNUC_MINOR__=%v2\ %{!M:%{!MM:%{!E:%{!pipe:%g.ii} |\n\
-D__GNUC_PATCHLEVEL__=%v3} -D__cplusplus\ cc1plus %{!pipe:%g.ii} %(cc1_options) %{+e*} %{!S:-o %{|!pipe:%g.s} |\n\
%{ansi:-trigraphs -D__STRICT_ANSI__} %{!undef:%{!ansi:%p} %P}\ as %(asm_options) %{!pipe:%g.s} %A }}}}\n"
%{!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 }}}}}"}},
#endif /* ! USE_CPPLIB */ #endif /* ! USE_CPPLIB */
{".ii", {"@c++-cpp-output"}}, },
{".ii", "@c++-cpp-output"},
{"@c++-cpp-output", {"@c++-cpp-output",
{"%{!M:%{!MM:%{!E:cc1plus %i %1 %2 %{!Q:-quiet} %{d*} %{m*} %{a}\ "%{!M:%{!MM:%{!E:\
%{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi}\ cc1plus -fpreprocessed %{!pipe:%g.ii} %(cc1_options) %{+e*}\
%{v:-version} %{pg:-p} %{p} -fpreprocessed\ %{!S:-o %{|!pipe:%g.s} |\n as %(asm_options) %{!pipe:%g.s} %A }}}}"},
%{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 }}}}"}},
2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
* lang-specs.h: Use the new named specs. Remove unnecessary braces.
2000-07-02 Toon Moene <toon@moene.indiv.nluug.nl> 2000-07-02 Toon Moene <toon@moene.indiv.nluug.nl>
* version.c: Bump version number. * version.c: Bump version number.
......
...@@ -24,77 +24,29 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -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 /* This is the contribution to the `default_compilers' array in gcc.c for
g77. */ g77. */
{".F", {"@f77-cpp-input"}}, {".F", "@f77-cpp-input"},
{".fpp", {"@f77-cpp-input"}}, {".fpp", "@f77-cpp-input"},
{".FPP", {"@f77-cpp-input"}}, {".FPP", "@f77-cpp-input"},
{"@f77-cpp-input", {"@f77-cpp-input",
/* For f77 we want -traditional to avoid errors with, for "tradcpp -lang-fortran %(cpp_options) %{!M:%{!MM:%{!E:%{!pipe:%g.f |\n\
instance, mismatched '. Also, we avoid unpleasant surprises f771 %{!pipe:%g.f} %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
with substitution of names not prefixed by `_' by using %P as %(asm_options) %{!pipe:%g.s} %A }}}}}\n"},
rather than %p (although this isn't consistent with SGI and {".r", "@ratfor"},
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"}},
{"@ratfor", {"@ratfor",
{"ratfor %{C} %{v}\ "%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{C:%{!E:%eGNU C does not support -C without using -E}}\ ratfor %{C} %{v} %i %{E:%W{o*}} %{!E: %{!pipe:-o %g.f} |\n\
%{!E:%{!pipe:-o %g.f}}%{E:%W{o*}} %i |\n", f771 %{!pipe:%g.f} %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
"%{!E:f771 %{!pipe:%g.f} %1 %(f771) \ as %(asm_options) %{!pipe:%g.s} %A }}\n"},
%{!Q:-quiet} -dumpbase %b.r %{d*} %{m*} %{a*}\ {".f", "@f77"},
%{g*} %{O*} %{W*} %{w} %{pedantic*} \ {".for", "@f77"},
%{v:-version -fversion} %{pg:-p} %{p} %{f*} %{I*}\ {".FOR", "@f77"},
%{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"}},
{"@f77", {"@f77",
{"%{!M:%{!MM:%{!E:f771 %i %1 %(f771) \ "%{!M:%{!MM:%{!E:f771 %i %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
%{!Q:-quiet} -dumpbase %b.f %{d*} %{m*} %{a*}\ as %(asm_options) %{!pipe:%g.s} %A }}}}\n"},
%{g*} %{O*} %{W*} %{w} %{pedantic*}\ /* XXX This is perverse and should not be necessary. */
%{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 }}}}"}},
{"@f77-version", {"@f77-version",
{"tradcpp -lang-fortran %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I \ "tradcpp -lang-fortran %(cpp_options) /dev/null /dev/null \n\
%{C:%{!E:%eGNU C does not support -C without using -E}} \ f771 -fnull-version %1 \
%{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) \
%{!Q:-quiet} -dumpbase g77-version.f %{d*} %{m*} %{a*} \ %{!Q:-quiet} -dumpbase g77-version.f %{d*} %{m*} %{a*} \
%{g*} %{O*} %{W*} %{w} %{pedantic*} \ %{g*} %{O*} %{W*} %{w} %{pedantic*} \
-version -fversion %{f*} %{I*} -o %g.s /dev/null \n\ -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 ...@@ -106,4 +58,4 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
%{!nostdlib:%{!nodefaultlibs:%G %L %G}} \ %{!nostdlib:%{!nodefaultlibs:%G %L %G}} \
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} \ %{!A:%{!nostdlib:%{!nostartfiles:%E}}} \
%{T*} \n\ %{T*} \n\
%g \n"}}, %g \n"},
2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
* lang-specs.h: Use the new named specs. Remove unnecessary braces.
2000-07-12 Mark Mitchell <mark@codesourcery.com> 2000-07-12 Mark Mitchell <mark@codesourcery.com>
* parse-scan.c: Remove. * parse-scan.c: Remove.
......
...@@ -25,20 +25,12 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ ...@@ -25,20 +25,12 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* This is the contribution to the `default_compilers' array in gcc.c for /* This is the contribution to the `default_compilers' array in gcc.c for
Java. */ Java. */
{".java", {"@java"} }, {".java", "@java" },
{".class", {"@java"} }, {".class", "@java" },
{".zip", {"@java"} }, {".zip", "@java" },
{".jar", {"@java"} }, {".jar", "@java" },
{"@java", {"@java",
{"%{!E:jc1 %i %1 %(jc1) %{!Q:-quiet} %{d*} %{m*} %{a}\ "%{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
%{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi}\ %{!E:jc1 %i %(cc1_options) %{+e*} %{MD} %{MMD} %{M} %{MM}\
%{traditional} %{v:-version} %{pg:-p} %{p}\ %{!S:-o %{|!pipe:%g.s} |\n\
%{f*} %{+e*} %{aux-info*} %{Qn:-fno-ident}\ as %(asm_options) %{!pipe:%g.s} %A }}"},
%{I*}\
%{MD} %{MMD} %{M} %{MM}\
%{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
%{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 }}"}},
...@@ -21,79 +21,23 @@ Boston, MA 02111-1307, USA. */ ...@@ -21,79 +21,23 @@ Boston, MA 02111-1307, USA. */
/* This is the contribution to the `default_compilers' array in gcc.c for /* This is the contribution to the `default_compilers' array in gcc.c for
objc. */ objc. */
{".m", {"@objective-c"}}, {".m", "@objective-c"},
{"@objective-c", {"@objective-c",
#if USE_CPPLIB #if USE_CPPLIB
{"%{E|M|MM:cpp -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\ "%{E|M|MM:cpp -lang-objc %{ansi:-std=c89} %(cpp_options)}\
%{C:%{!E:%eGNU C does not support -C without using -E}}\ %{!E:%{!M:%{!MM:cc1obj -lang-objc %(cpp_options) %(cc1_options)\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\ %{gen-decls} %{!S:-o %{|!pipe:%g.s} |\n\
-D__OBJC__ %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\ as %(asm_options) %{!pipe:%g.s} %A }}}}"
-D__GNUC_PATCHLEVEL__=%v3} %{ansi:-trigraphs -D__STRICT_ANSI__}\
%{!undef:%{!ansi:%p} %P} %{trigraphs}\
%c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\
%{ffast-math:-D__FAST_MATH__}\
%{traditional} %{ftraditional:-traditional}\
%{traditional-cpp:-traditional}\
%{fleading-underscore} %{fno-leading-underscore}\
%{fshow-column} %{fno-show-column}\
%{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\
%i %{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}}\n}",
"%{!M:%{!MM:%{!E:cc1obj %i %1 \
%{nostdinc*} %{A*} %{I*} %{P} %I\
%{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
-D__OBJC__ %{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\
-D__GNUC_PATCHLEVEL__=%v3}\
%{!undef:%{!ansi:%p} %P} %{trigraphs}\
%c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\
%{ffast-math:-D__FAST_MATH__}\
%{!Q:-quiet} -dumpbase %b.m %{d*} %{m*} %{a*}\
%{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \
%{traditional} %{v:-version} %{pg:-p} %{p} %{f*} \
-lang-objc %{gen-decls} \
%{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 }}}}"}
#else /* ! USE_CPPLIB */ #else /* ! USE_CPPLIB */
{"%{traditional|ftraditional|traditional-cpp:trad}cpp -lang-objc \ "%(trad_capable_cpp) -lang-objc %{ansi:-std=c89} %(cpp_options)\
%{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %{$} %I\ %{!M:%{!MM:%{!E:%{!pipe:%g.mi} |\n\
%{C:%{!E:%eGNU C does not support -C without using -E}}\ cc1obj -lang-objc %{!pipe:%g.mi} %(cc1_options) %{gen-decls}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\ %{!S:-o %{|!pipe:%g.s} |\n\
%{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2 \ as %(asm_options) %{!pipe:%g.s} %A }}}}\n"
-D__GNUC_PATCHLEVEL__=%v3}\
%{ansi:-trigraphs -D__STRICT_ANSI__}\
%{!undef:%{!ansi:%p} %P} %{trigraphs}\
%c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\
%{ffast-math:-D__FAST_MATH__}\
%{fleading-underscore} %{fno-leading-underscore}\
%{fshow-column} %{fno-show-column}\
%{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*} %Z\
%i %{!M:%{!MM:%{!E:%{!pipe:%g.mi}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n",
"%{!M:%{!MM:%{!E:cc1obj %{!pipe:%g.mi} %1 \
%{!Q:-quiet} -dumpbase %b.m %{d*} %{m*} %{a*}\
%{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \
%{traditional} %{v:-version} %{pg:-p} %{p} %{f*} \
-lang-objc %{gen-decls} \
%{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 }}}}"}
#endif /* ! USE_CPPLIB */ #endif /* ! USE_CPPLIB */
}, },
{".mi", {"@objc-cpp-output"}}, {".mi", "@objc-cpp-output"},
{"@objc-cpp-output", {"@objc-cpp-output",
{"%{!M:%{!MM:%{!E:cc1obj %i %1 \ "%{!M:%{!MM:%{!E:cc1obj -lang-objc %i %(cc1_options) %{gen-decls}\
%{!Q:-quiet} -dumpbase %b.m %{d*} %{m*} %{a*}\ %{!S:-o %{|!pipe:%g.s} |\n\
%{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \ as %(asm_options) %{!pipe:%g.s} %A }}}}"},
%{traditional} %{v:-version} %{pg:-p} %{p} %{f*} \
-lang-objc %{gen-decls} \
%{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 }}}}"}},
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment