diff options
author | Francois-Xavier Coudert <coudert@clipper.ens.fr> | 2005-11-04 09:29:16 +0100 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2005-11-04 08:29:16 +0000 |
commit | a67ec6ab99c91c593138358b56dcc160aa09a015 (patch) | |
tree | 4d84eda381e6ccb216977e5d703d88994573c9d3 /gcc | |
parent | 553ff21c96f1206b02864c070af7a0e19934c4c9 (diff) | |
download | gcc-a67ec6ab99c91c593138358b56dcc160aa09a015.zip gcc-a67ec6ab99c91c593138358b56dcc160aa09a015.tar.gz gcc-a67ec6ab99c91c593138358b56dcc160aa09a015.tar.bz2 |
re PR fortran/18452 (Fortran options induces warning for fortran that needs preprocessing)
PR fortran/18452
* gcc/fortran/lang-specs.h: Pass -lang-fortran to the preprocessor.
* gcc/c.opt: Add a -lang-fortran option.
* gcc/c-opts.c: Add a lang_fortran flag.
(c_common_init_options): Handling the -lang-fortran option.
(c_common_handle_option): Add a case for Fortran options in
preprocessing. Remove cases for -ffixed-form and
-ffixed-line-length. Add a case for -lang-fortran.
From-SVN: r106483
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/c-opts.c | 27 | ||||
-rw-r--r-- | gcc/c.opt | 3 | ||||
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/lang-specs.h | 4 |
5 files changed, 40 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b943e84..fcb4ce4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2005-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + PR fortran/18452 + * gcc/c.opt: Add a -lang-fortran option. + * gcc/c-opts.c: Add a lang_fortran flag. + (c_common_init_options): Handling the -lang-fortran option. + (c_common_handle_option): Add a case for Fortran options in + preprocessing. Remove cases for -ffixed-form and + -ffixed-line-length. Add a case for -lang-fortran. + 2005-11-03 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.c: Include params.h diff --git a/gcc/c-opts.c b/gcc/c-opts.c index b0efaf4..62db668 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -70,6 +70,9 @@ static bool deps_seen; /* If -v seen. */ static bool verbose; +/* If -lang-fortran seen. */ +static bool lang_fortran = false; + /* Dependency output file. */ static const char *deps_file; @@ -237,6 +240,15 @@ c_common_init_options (unsigned int argc, const char **argv) result |= CL_C | CL_ObjC | CL_CXX | CL_ObjCXX; break; } + +#ifdef CL_Fortran + for (i = 1; i < argc; i++) + if (! strcmp (argv[i], "-lang-fortran")) + { + result |= CL_Fortran; + break; + } +#endif } return result; @@ -258,6 +270,10 @@ c_common_handle_option (size_t scode, const char *arg, int value) default: if (cl_options[code].flags & (CL_C | CL_CXX | CL_ObjC | CL_ObjCXX)) break; +#ifdef CL_Fortran + if (lang_fortran && (cl_options[code].flags & (CL_Fortran))) + break; +#endif result = 0; break; @@ -651,13 +667,6 @@ c_common_handle_option (size_t scode, const char *arg, int value) cpp_opts->extended_identifiers = value; break; - case OPT_ffixed_form: - case OPT_ffixed_line_length_: - /* Fortran front end options ignored when preprocessing only. */ - if (!flag_preprocess_only) - result = 0; - break; - case OPT_ffor_scope: flag_new_for_scope = value; break; @@ -833,6 +842,10 @@ c_common_handle_option (size_t scode, const char *arg, int value) cpp_opts->dollars_in_ident = false; break; + case OPT_lang_fortran: + lang_fortran = true; + break; + case OPT_lang_objc: cpp_opts->objc = 1; break; @@ -781,6 +781,9 @@ C ObjC C++ ObjC++ Joined Separate lang-asm C Undocumented +lang-fortran +C Undocumented + lang-objc C ObjC C++ ObjC++ Undocumented diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8589e1c..7e8cb39 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2005-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + PR fortran/18452 + * lang-specs.h: Pass -lang-fortran to the preprocessor. + 2005-11-02 Andrew Pinski <pinskia@physics.uc.edu> PR fortran/18157 diff --git a/gcc/fortran/lang-specs.h b/gcc/fortran/lang-specs.h index b18483f..688fbc1 100644 --- a/gcc/fortran/lang-specs.h +++ b/gcc/fortran/lang-specs.h @@ -11,7 +11,7 @@ This file is licensed under the GPL. */ {".fpp", "@f77-cpp-input", 0, 0, 0}, {".FPP", "@f77-cpp-input", 0, 0, 0}, {"@f77-cpp-input", - "cc1 -E -traditional-cpp -D_LANGUAGE_FORTRAN %(cpp_options) \ + "cc1 -E -lang-fortran -traditional-cpp -D_LANGUAGE_FORTRAN %(cpp_options) \ %{E|M|MM:%(cpp_debug_options)}\ %{!M:%{!MM:%{!E: -o %|.f |\n\ f951 %|.f %{!ffree-form:-ffixed-form} %(cc1_options) %{J*} %{I*}\ @@ -19,7 +19,7 @@ This file is licensed under the GPL. */ {".F90", "@f95-cpp-input", 0, 0, 0}, {".F95", "@f95-cpp-input", 0, 0, 0}, {"@f95-cpp-input", - "cc1 -E -traditional-cpp -D_LANGUAGE_FORTRAN %(cpp_options) \ + "cc1 -E -lang-fortran -traditional-cpp -D_LANGUAGE_FORTRAN %(cpp_options) \ %{E|M|MM:%(cpp_debug_options)}\ %{!M:%{!MM:%{!E: -o %|.f95 |\n\ f951 %|.f95 %(cc1_options) %{J*} %{I*}\ |