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]

Re: [patch, fortran] Fix PR 54033, problems with -I, with test cases


Hi Tobias,

> I am not sure whether it is the best solution, but one possibility would
be to ignore -fintrinsic-modules-path for the warning. (That assumes
that the warning is (almost) never needed for an installed compiler.)

I think this is the right approach. The attached patch does this. Regression-tested with the finclude directory from the installation.

OK for trunk?

Thomas

2012-08-02 Thomas König <tkoenig@gcc.gnu.org>

        PR fortran/54033
        * scanner.c (add_path_to_list):  New argument warn.  Don't
        warn if it is true.
        (gfc_add_include_path):  Warn if directory is missing.
        (gfc_add_intrinsic_modules_path):  Do not warn if directory
        is missing.
        * optinons.c (gfc_handle_option):  Do not add directory
        for intrinsic modules to normal include path.

Index: scanner.c
===================================================================
--- scanner.c	(Revision 190054)
+++ scanner.c	(Arbeitskopie)
@@ -307,7 +307,7 @@ gfc_scanner_done_1 (void)
 
 static void
 add_path_to_list (gfc_directorylist **list, const char *path,
-		  bool use_for_modules, bool head)
+		  bool use_for_modules, bool head, bool warn)
 {
   gfc_directorylist *dir;
   const char *p;
@@ -324,8 +324,11 @@ add_path_to_list (gfc_directorylist **list, const
 	gfc_warning_now ("Include directory \"%s\": %s", path,
 			 xstrerror(errno));
       else
-	/* FIXME:  Also support -Wmissing-include-dirs.  */
-	gfc_warning_now ("Nonexistent include directory \"%s\"", path);
+	{
+	  /* FIXME:  Also support -Wmissing-include-dirs.  */
+	  if (warn)
+	    gfc_warning_now ("Nonexistent include directory \"%s\"", path);
+	}
       return;
     }
   else if (!S_ISDIR (st.st_mode))
@@ -363,7 +366,7 @@ add_path_to_list (gfc_directorylist **list, const
 void
 gfc_add_include_path (const char *path, bool use_for_modules, bool file_dir)
 {
-  add_path_to_list (&include_dirs, path, use_for_modules, file_dir);
+  add_path_to_list (&include_dirs, path, use_for_modules, file_dir, true);
 
   /* For '#include "..."' these directories are automatically searched.  */
   if (!file_dir)
@@ -374,7 +377,7 @@ gfc_add_include_path (const char *path, bool use_f
 void
 gfc_add_intrinsic_modules_path (const char *path)
 {
-  add_path_to_list (&intrinsic_modules_dirs, path, true, false);
+  add_path_to_list (&intrinsic_modules_dirs, path, true, false, false);
 }
 
 
Index: options.c
===================================================================
--- options.c	(Revision 189754)
+++ options.c	(Arbeitskopie)
@@ -819,7 +819,6 @@ gfc_handle_option (size_t scode, const char *arg,
       break;
 
     case OPT_fintrinsic_modules_path:
-      gfc_add_include_path (arg, false, false);
       gfc_add_intrinsic_modules_path (arg);
       break;
 

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