diff options
author | fxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-11-04 08:29:16 +0000 |
---|---|---|
committer | fxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-11-04 08:29:16 +0000 |
commit | 5f1220947c1397909f7faa88331c7875c6e03810 (patch) | |
tree | 4d84eda381e6ccb216977e5d703d88994573c9d3 /gcc/c-opts.c | |
parent | f3a67091bbfd62cdd8db2c909489c57173b16403 (diff) | |
download | gcc-5f1220947c1397909f7faa88331c7875c6e03810.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106483 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-opts.c')
-rw-r--r-- | gcc/c-opts.c | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/gcc/c-opts.c b/gcc/c-opts.c index b0efaf4a61b..62db668b4e1 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; |