This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Patch, Fortran] PR60447 - Stop generating *.s file with -E -cpp


Hello,

gfortran currently tells the ME that it wants it - even if it is not needed when only preprocessing a file (-E). This patch fixes this by telling the ME that no_backend is required - and then by triggering an early exit in lang_dependent_init (all in toplev.c).

Build and currently regtesting.
OK for the trunk?

Tobias
2014-03-08  Tobias Burnus  <burnus@net-b.de>

	PR fortran/60447
	* f95-lang.c (gfc_init): Return false when only
	preprocessing.
	* options.c (gfc_post_options): Ditto.

diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c
index aa49ea0..e25e92a 100644
--- a/gcc/fortran/f95-lang.c
+++ b/gcc/fortran/f95-lang.c
@@ -223,6 +223,9 @@ gfc_init (void)
   if (!gfc_new_file ())
     fatal_error ("can't open input file: %s", gfc_source_file);
 
+  if (flag_preprocess_only)
+    return false;
+
   return true;
 }
 
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index 895a7dc..a2b91ca 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -437,14 +437,7 @@ gfc_post_options (const char **pfilename)
 
   gfc_cpp_post_options ();
 
-/* FIXME: return gfc_cpp_preprocess_only ();
-
-   The return value of this function indicates whether the
-   backend needs to be initialized. On -E, we don't need
-   the backend. However, if we return 'true' here, an
-   ICE occurs. Initializing the backend doesn't hurt much,
-   hence, for now we can live with it as is.  */
-  return false;
+  return gfc_cpp_preprocess_only ();
 }
 
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]