2013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Feb 2013 22:13:26 +0000 (22:13 +0000)
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Feb 2013 22:13:26 +0000 (22:13 +0000)
PR fortran/56224
* gfortran.h (gfc_add_include_path):  Add boolean argument
for warn.
* scanner.c (gfc_add_include_path):  Pass along warn argument
to add_path_to_list.
* options.c (gfc_post_options):  Add true warn argument to
gfc_add_include_path.
(gfc_handle_module_path_options):  Likewise.
(gfc_handle_option): Also gfc_add_include_path for intrinsic
modules, without warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196058 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 3e9e791..1375d0e 100644 (file)
@@ -1,3 +1,16 @@
+2013-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/56224
+       * gfortran.h (gfc_add_include_path):  Add boolean argument
+       for warn.
+       * scanner.c (gfc_add_include_path):  Pass along warn argument
+       to add_path_to_list.
+       * options.c (gfc_post_options):  Add true warn argument to
+       gfc_add_include_path.
+       (gfc_handle_module_path_options):  Likewise.
+       (gfc_handle_option): Also gfc_add_include_path for intrinsic
+       modules, without warning.
+
 2013-02-14  Paul Thomas  <pault@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>
 
index 3b4b473..44d5c91 100644 (file)
@@ -2381,7 +2381,7 @@ match gfc_match_char_spec (gfc_typespec *);
 void gfc_scanner_done_1 (void);
 void gfc_scanner_init_1 (void);
 
-void gfc_add_include_path (const char *, bool, bool);
+void gfc_add_include_path (const char *, bool, bool, bool);
 void gfc_add_intrinsic_modules_path (const char *);
 void gfc_release_include_path (void);
 FILE *gfc_open_included_file (const char *, bool, bool);
index a014634..fba1a3f 100644 (file)
@@ -337,10 +337,10 @@ gfc_post_options (const char **pfilename)
       source_path = (char *) alloca (i + 1);
       memcpy (source_path, canon_source_file, i);
       source_path[i] = 0;
-      gfc_add_include_path (source_path, true, true);
+      gfc_add_include_path (source_path, true, true, true);
     }
   else
-    gfc_add_include_path (".", true, true);
+    gfc_add_include_path (".", true, true, true);
 
   if (canon_source_file != gfc_source_file)
     free (CONST_CAST (char *, canon_source_file));
@@ -498,7 +498,7 @@ gfc_handle_module_path_options (const char *arg)
   gfc_option.module_dir = XCNEWVEC (char, strlen (arg) + 2);
   strcpy (gfc_option.module_dir, arg);
 
-  gfc_add_include_path (gfc_option.module_dir, true, false);
+  gfc_add_include_path (gfc_option.module_dir, true, false, true);
 
   strcat (gfc_option.module_dir, "/");
 }
@@ -844,6 +844,13 @@ gfc_handle_option (size_t scode, const char *arg, int value,
 
     case OPT_fintrinsic_modules_path:
     case OPT_fintrinsic_modules_path_:
+
+      /* This is needed because omp_lib.h is in a directory together
+        with intrinsic modules.  Do no warn because during testing
+        without an installed compiler, we would get lots of bogus
+        warnings for a missing include directory.  */
+      gfc_add_include_path (arg, false, false, false);
+
       gfc_add_intrinsic_modules_path (arg);
       break;
 
@@ -978,7 +985,7 @@ gfc_handle_option (size_t scode, const char *arg, int value,
       break;
 
     case OPT_I:
-      gfc_add_include_path (arg, true, false);
+      gfc_add_include_path (arg, true, false, true);
       break;
 
     case OPT_J:
index 0467f8a..f714ed0 100644 (file)
@@ -375,9 +375,10 @@ 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)
+gfc_add_include_path (const char *path, bool use_for_modules, bool file_dir,
+                     bool warn)
 {
-  add_path_to_list (&include_dirs, path, use_for_modules, file_dir, true);
+  add_path_to_list (&include_dirs, path, use_for_modules, file_dir, warn);
 
   /* For '#include "..."' these directories are automatically searched.  */
   if (!file_dir)