aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>2005-11-04 09:29:16 +0100
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2005-11-04 08:29:16 +0000
commita67ec6ab99c91c593138358b56dcc160aa09a015 (patch)
tree4d84eda381e6ccb216977e5d703d88994573c9d3 /gcc
parent553ff21c96f1206b02864c070af7a0e19934c4c9 (diff)
downloadgcc-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/ChangeLog10
-rw-r--r--gcc/c-opts.c27
-rw-r--r--gcc/c.opt3
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/lang-specs.h4
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;
diff --git a/gcc/c.opt b/gcc/c.opt
index eb01d32..3d95ca2 100644
--- a/gcc/c.opt
+++ b/gcc/c.opt
@@ -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*}\