Deleted Added
full compact
gcc.c (132733) gcc.c (146908)
1/* Compiler driver program that can handle many languages.
2 Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
3 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free

--- 8 unchanged lines hidden (view full) ---

17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING. If not, write to the Free
19Software Foundation, 59 Temple Place - Suite 330, Boston, MA
2002111-1307, USA.
21
22This paragraph is here to try to keep Sun CC from dying.
23The number of chars here seems crucial!!!! */
24
1/* Compiler driver program that can handle many languages.
2 Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
3 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free

--- 8 unchanged lines hidden (view full) ---

17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING. If not, write to the Free
19Software Foundation, 59 Temple Place - Suite 330, Boston, MA
2002111-1307, USA.
21
22This paragraph is here to try to keep Sun CC from dying.
23The number of chars here seems crucial!!!! */
24
25/* $FreeBSD: head/contrib/gcc/gcc.c 132733 2004-07-28 04:05:09Z kan $ */
25/* $FreeBSD: head/contrib/gcc/gcc.c 146908 2005-06-03 04:02:20Z kan $ */
26
27/* This program is the user interface to the C compiler and possibly to
28other compilers. It is used because compilation is a complicated procedure
29which involves running several programs and passing temporary files between
30them, forwarding the users switches to those programs selectively,
31and deleting the temporary files at the end.
32
33CC recognizes how to compile each input file by suffixes in the file names.

--- 709 unchanged lines hidden (view full) ---

743 file that happens to exist is up-to-date. */
744static const char *cpp_unique_options =
745"%{C|CC:%{!E:%eGCC does not support -C or -CC without -E}}\
746 %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %I\
747 %{MD:-MD %{!o:%b.d}%{o*:%.d%*}}\
748 %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}}\
749 %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*}\
750 %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}}\
26
27/* This program is the user interface to the C compiler and possibly to
28other compilers. It is used because compilation is a complicated procedure
29which involves running several programs and passing temporary files between
30them, forwarding the users switches to those programs selectively,
31and deleting the temporary files at the end.
32
33CC recognizes how to compile each input file by suffixes in the file names.

--- 709 unchanged lines hidden (view full) ---

743 file that happens to exist is up-to-date. */
744static const char *cpp_unique_options =
745"%{C|CC:%{!E:%eGCC does not support -C or -CC without -E}}\
746 %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %I\
747 %{MD:-MD %{!o:%b.d}%{o*:%.d%*}}\
748 %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}}\
749 %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*}\
750 %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}}\
751 %{trigraphs} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i\
751 %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i\
752 %{E|M|MM:%W{o*}}";
753
754/* This contains cpp options which are common with cc1_options and are passed
755 only when preprocessing only to avoid duplication. We pass the cc1 spec
756 options to the preprocessor so that it the cc1 spec may manipulate
757 options used to set target flags. Those special target flags settings may
758 in turn cause preprocessor symbols to be defined specially. */
759static const char *cpp_options =
752 %{E|M|MM:%W{o*}}";
753
754/* This contains cpp options which are common with cc1_options and are passed
755 only when preprocessing only to avoid duplication. We pass the cc1 spec
756 options to the preprocessor so that it the cc1 spec may manipulate
757 options used to set target flags. Those special target flags settings may
758 in turn cause preprocessor symbols to be defined specially. */
759static const char *cpp_options =
760"%(cpp_unique_options) %1 %{m*} %{std*} %{ansi} %{W*&pedantic*} %{w} %{f*}\
761 %{g*:%{!g0:%{!fno-working-directory:-fworking-directory}}} %{O*} %{undef}";
760"%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
761 %{f*} %{g*:%{!g0:%{!fno-working-directory:-fworking-directory}}} %{O*}\
762 %{undef}";
762
763/* This contains cpp options which are not passed when the preprocessor
764 output will be used by another program. */
765static const char *cpp_debug_options = "%{d*}";
766
767/* NB: This is shared amongst all front-ends. */
768static const char *cc1_options =
769"%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
770 %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*}\
771 %{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}}\
763
764/* This contains cpp options which are not passed when the preprocessor
765 output will be used by another program. */
766static const char *cpp_debug_options = "%{d*}";
767
768/* NB: This is shared amongst all front-ends. */
769static const char *cc1_options =
770"%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
771 %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*}\
772 %{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}}\
772 %{g*} %{O*} %{W*&pedantic*} %{w} %{std*} %{ansi}\
773 %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs}\
773 %{v:-version} %{pg:-p} %{p} %{f*} %{undef}\
774 %{Qn:-fno-ident} %{--help:--help}\
775 %{--target-help:--target-help}\
776 %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
777 %{fsyntax-only:-o %j} %{-param*}";
778
779static const char *asm_options =
780"%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}";

--- 128 unchanged lines hidden (view full) ---

909 %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
910 %(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\
911 cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \
912 %(cc1_options)}\
913 %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
914 cc1 %(cpp_unique_options) %(cc1_options)}}}\
915 %{!fsyntax-only:%(invoke_as)}}}}", 0},
916 {"-",
774 %{v:-version} %{pg:-p} %{p} %{f*} %{undef}\
775 %{Qn:-fno-ident} %{--help:--help}\
776 %{--target-help:--target-help}\
777 %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
778 %{fsyntax-only:-o %j} %{-param*}";
779
780static const char *asm_options =
781"%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}";

--- 128 unchanged lines hidden (view full) ---

910 %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
911 %(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\
912 cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \
913 %(cc1_options)}\
914 %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
915 cc1 %(cpp_unique_options) %(cc1_options)}}}\
916 %{!fsyntax-only:%(invoke_as)}}}}", 0},
917 {"-",
917 "%{!E:%e-E required when input is from standard input}\
918 "%{!E:%e-E or -x required when input is from standard input}\
918 %(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)", 0},
919 {".h", "@c-header", 0},
920 {"@c-header",
921 /* cc1 has an integrated ISO C preprocessor. We should invoke the
922 external preprocessor if -save-temps is given. */
923 "%{E|M|MM:%(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)}\
924 %{!E:%{!M:%{!MM:\
925 %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \

--- 713 unchanged lines hidden (view full) ---

1639 if (in_sep && *p == '-' && strncmp (p, "-lgcc", 5) == 0)
1640 {
1641 init_gcc_specs (&obstack,
1642#ifdef NO_SHARED_LIBGCC_MULTILIB
1643 "-lgcc_s"
1644#else
1645 "-lgcc_s%M"
1646#endif
919 %(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)", 0},
920 {".h", "@c-header", 0},
921 {"@c-header",
922 /* cc1 has an integrated ISO C preprocessor. We should invoke the
923 external preprocessor if -save-temps is given. */
924 "%{E|M|MM:%(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)}\
925 %{!E:%{!M:%{!MM:\
926 %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \

--- 713 unchanged lines hidden (view full) ---

1640 if (in_sep && *p == '-' && strncmp (p, "-lgcc", 5) == 0)
1641 {
1642 init_gcc_specs (&obstack,
1643#ifdef NO_SHARED_LIBGCC_MULTILIB
1644 "-lgcc_s"
1645#else
1646 "-lgcc_s%M"
1647#endif
1648#ifdef USE_LIBUNWIND_EXCEPTIONS
1649 " -lunwind"
1650#endif
1647 ,
1648 "-lgcc",
1649 "-lgcc_eh"
1650#ifdef USE_LIBUNWIND_EXCEPTIONS
1651 ,
1652 "-lgcc",
1653 "-lgcc_eh"
1654#ifdef USE_LIBUNWIND_EXCEPTIONS
1655# ifdef HAVE_LD_STATIC_DYNAMIC
1656 " %{!static:-Bstatic} -lunwind %{!static:-Bdynamic}"
1657# else
1651 " -lunwind"
1658 " -lunwind"
1659# endif
1652#endif
1653 );
1654
1655 p += 5;
1656 in_sep = 0;
1657 }
1658 else if (in_sep && *p == 'l' && strncmp (p, "libgcc.a%s", 10) == 0)
1659 {

--- 5806 unchanged lines hidden ---
1660#endif
1661 );
1662
1663 p += 5;
1664 in_sep = 0;
1665 }
1666 else if (in_sep && *p == 'l' && strncmp (p, "libgcc.a%s", 10) == 0)
1667 {

--- 5806 unchanged lines hidden ---