Fix PR 54033, problems with -I, with test cases
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sat, 4 Aug 2012 18:26:56 +0000 (11:26 -0700)
committerH.J. Lu <hjl@gcc.gnu.org>
Sat, 4 Aug 2012 18:26:56 +0000 (11:26 -0700)
 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.

From-SVN: r190144

gcc/fortran/ChangeLog
gcc/fortran/options.c
gcc/fortran/scanner.c

index fef8abad3ce629b2f3ad992b5926f3ecc90ea361..211da3c6bffd2c55c4b404d52737868d4edfda42 100644 (file)
@@ -1,3 +1,14 @@
+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.
+
 2012-08-03  Mikael Morin  <mikael@gcc.gnu.org>
 
        PR fortran/54166
 
 2012-05-05  Janne Blomqvist  <jb@gcc.gnu.org>
 
-        * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
-        algorithm for choosing temp directory.
+       * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
+       algorithm for choosing temp directory.
 
 2012-05-04  Tobias Burnus  <burnus@net-b.de>
 
index f1721ce0a9b2827a02d420ef48f95ec4acb033e4..64d4da1443f754861ef45aa381cdf14ce24fa630 100644 (file)
@@ -819,7 +819,6 @@ gfc_handle_option (size_t scode, const char *arg, int value,
       break;
 
     case OPT_fintrinsic_modules_path:
-      gfc_add_include_path (arg, false, false);
       gfc_add_intrinsic_modules_path (arg);
       break;
 
index d4a27a845329ebfd83d176e9be748284c8b15ba3..e0556a9760a173d88a83bd72bb276b3375309c9b 100644 (file)
@@ -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 char *path,
        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 char *path,
 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_for_modules, bool file_dir)
 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);
 }