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 --- |