From 57bdf399d42c0c73c5d18409e1474f5dd69ba131 Mon Sep 17 00:00:00 2001 From: Thomas Koenig Date: Sat, 4 Aug 2012 11:26:56 -0700 Subject: [PATCH] Fix PR 54033, problems with -I, with test cases 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 | 15 +++++++++++++-- gcc/fortran/options.c | 1 - gcc/fortran/scanner.c | 13 ++++++++----- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index fef8abad3ce..211da3c6bff 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,14 @@ +2012-08-02 Thomas König + + 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 PR fortran/54166 @@ -697,8 +708,8 @@ 2012-05-05 Janne Blomqvist - * 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 diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index f1721ce0a9b..64d4da1443f 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -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; diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index d4a27a84532..e0556a9760a 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -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); }