From patchwork Tue Sep 21 19:22:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tobias Burnus X-Patchwork-Id: 45252 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3FC223857C6B for ; Tue, 21 Sep 2021 19:23:14 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id AAAEA3858D39; Tue, 21 Sep 2021 19:22:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AAAEA3858D39 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: WseygH6dl3Ux3bK4eaYjgynVdzQusAZLCdbSYzvu1lzlxW5P1rdnsf9Q+2bbQmHN9683BAMbwk JvRDsLB/CjPPKkXqVdOzJGeNY1RwjsuumrZpyVY1kAufyEV3PgVehJzUGUzLO0NGRiWNw8RCWw fks70wdel/PB72EGV6Fh/NVoqvzXRxzE0awOJL4nFOwyMx0d8EmQgbLCAdfbr8bSNp1XXnrNZE qDzFiqlBuR//NjvtBlWeyc9zSNQGz12O++5V8hwvwEdlNcRhGqdcleEMJ/rEvEVAhV5GmPGix3 vAtlvW6OYfQq9C16IyDb6y7R X-IronPort-AV: E=Sophos;i="5.85,311,1624348800"; d="diff'?scan'208";a="66128218" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 21 Sep 2021 11:22:52 -0800 IronPort-SDR: Gl7taEHEhwbLyIIBurdVOK4w5Psr/Oa6vGDcK9UDU2wO/U7r9Uc3n4DWeq17OfAXkvDaamf5qd 6baSfWyyKqGHiHRI3YJf8cK64rjBhUl9WBLDKoz6tkowV6Ln1o7cdv/nT19fttob0RqbFy01tA HCUnJ7cvbwWkgLIqYY9X6N06edL95MJunsomfUXRcviEwhffO4SgZYDTAckxp6hQQCUMRqSmfn 5Db9yuNqFh4pVCtgS0kN5p582KKl55EBdLKCxLNYcbeQ/hP7pMOKg8Zl5wo18clb70+UfL76VG AU0= To: gcc-patches , fortran From: Tobias Burnus Subject: [Patch] Fortran: Improve -Wmissing-include-dirs warnings [PR55534] Message-ID: <690e3e15-e13a-c0ec-3d7a-eb04ae989240@codesourcery.com> Date: Tue, 21 Sep 2021 21:22:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 Content-Language: en-US X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-07.mgc.mentorg.com (139.181.222.7) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" While the previous patch fixed -Wno-missing-include-dirs and sorted out some inconsistencies with libcpp warnings, it had two issues: * Some superfluous warnings were printed, e.g. for gfortran nonexisting/file.f90 there was a warning about include path "nonexisting" not existing and twice the error that the "nonexisting/file.f90" could not be read. * At least as invoked when build GCC or when running the GCC testsuite, the passed -B -isystem etc. arguments lead to proper but pointless diagnostic about 'finclude' or other directories not being found, causing excess-error FAILS and -Werror build fails. While the latter could be fixed by adding -Wno-missing-include-dirs, it still felt like the wrong approach. While the testsuite does run for me, others reported that they do see missing-include-dirs warnings. Instead of adding a bunch of -Wno-missing-include-dirs to the test config, I now only warn for -I and -J by default (similar to previous state) and only do a full warnings when the user requested passes the -Wmissing-include-dirs explicitly. The Fortran behavior is now also properly documented in the manual. In order to handle the silencing of the diagnostic and to avoid double output via the Fortran code and libcpp (or rather: gcc/incpath.c), I had to add some not that clean and obvious diagnostic flags. I hope they still make sense and are somewhat readable. OK? Comments? Tobias PS: There is also some inconsistency whether fprintf stderr and gfc_error is used. All calls in load_file could be fatal errors as all exist with an error - and similar issues get different error messages for no good reason. I have not tried to solve this issue – but can if deemed reasonable as follow-up patch. ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 Fortran: Improve -Wmissing-include-dirs warnings [PR55534] It turned out that enabling the -Wmissing-include-dirs for libcpp did output too many warnings – at least as run with -B and similar options during the GCC build and warning for internal include dirs like finclude, unlikely of relevance to for a real-world user. This patch now only warns for -I and -J by default but permits to get the full warnings including libcpp ones with -Wmissing-include-dirs. It additionally documents this in the manual. With that change, the -Wno-missing-include-dirs could be removed from libgfortran's configure and libgomp's testsuite always cflags. This reverts those bits of the previous commit r12-3722-g417ea5c02cef7f000e66d1af22b066c2c1cda047 Additionally, it turned out that all call to load_file called exit explicitly - except for the main file via gfc_init -> gfc_new_file. The latter also output a file not existing fatal error, such that two errors where printed. Now exit is called in line with the other users of load_file. Finally, when compileing with "nonexisting/file.f90", first a warning that "nonexisting" does not exist as include path was printed before the file not found error was printed. Now the directory in which the physical file is located is added silently, relying on the file-not-found diagnostic for those. PR fortran/55534 gcc/ChangeLog: * doc/invoke.texi (-Wno-missing-include-dirs.): Document Fortran behavior. gcc/fortran/ChangeLog: * cpp.c (gfc_cpp_register_include_paths, gfc_cpp_post_options): Add new bool verbose_missing_dir_warn argument. * cpp.h (gfc_cpp_post_options): Update prototype. * f95-lang.c (gfc_init): Remove duplicated file-not found diag. * gfortran.h (gfc_check_include_dirs): Takes bool verbose_missing_dir_warn arg. (gfc_new_file): Returns now void. * options.c (gfc_post_options): Update to warn for -I and -J, only, by default but for all when user requested. * scanner.c (gfc_do_check_include_dir): (gfc_do_check_include_dirs, gfc_check_include_dirs): Take bool verbose warn arg and update to avoid printing the same message twice or never. (load_file): Fix indent. (gfc_new_file): Return void and exit when load_file failed as all other load_file users do. libgfortran/ChangeLog: * configure.ac (AM_FCFLAGS): Revert r12-3722 by removing -Wno-missing-include-dirs. * configure: Regenerate. libgomp/ChangeLog: * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert r12-3722 by removing -Wno-missing-include-dirs. * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise. gcc/testsuite/ChangeLog: * gfortran.dg/include_14.f90: Add -J testcase and update dg-output. * gfortran.dg/include_15.f90: Likewise. * gfortran.dg/include_16.f90: Likewise. * gfortran.dg/include_17.f90: Likewise. * gfortran.dg/include_18.f90: Likewise. * gfortran.dg/include_19.f90: Likewise. gcc/doc/invoke.texi | 6 +++-- gcc/fortran/cpp.c | 9 ++++---- gcc/fortran/cpp.h | 2 +- gcc/fortran/f95-lang.c | 4 ++-- gcc/fortran/gfortran.h | 4 ++-- gcc/fortran/options.c | 19 +++++++++++---- gcc/fortran/scanner.c | 27 ++++++++++++++-------- gcc/testsuite/gfortran.dg/include_14.f90 | 7 +++--- gcc/testsuite/gfortran.dg/include_15.f90 | 7 +++--- gcc/testsuite/gfortran.dg/include_16.f90 | 2 +- gcc/testsuite/gfortran.dg/include_17.f90 | 4 +++- gcc/testsuite/gfortran.dg/include_18.f90 | 4 +++- gcc/testsuite/gfortran.dg/include_19.f90 | 2 +- libgfortran/configure | 2 +- libgfortran/configure.ac | 2 +- libgomp/testsuite/libgomp.fortran/fortran.exp | 3 --- libgomp/testsuite/libgomp.oacc-fortran/fortran.exp | 3 --- 17 files changed, 63 insertions(+), 44 deletions(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 4acb94181d2..ba98eab68a5 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -6459,10 +6459,12 @@ int b[2][2] = @{ @{ 0, 1 @}, @{ 2, 3 @} @}; This warning is enabled by @option{-Wall}. -@item -Wmissing-include-dirs @r{(C, C++, Objective-C and Objective-C++ only)} +@item -Wmissing-include-dirs @r{(C, C++, Objective-C, Objective-C++ and Fortran only)} @opindex Wmissing-include-dirs @opindex Wno-missing-include-dirs -Warn if a user-supplied include directory does not exist. +Warn if a user-supplied include directory does not exist. This opions is disabled +by default for C, C++, Objective-C and Objective-C++. For Fortran, it is partially +enabled by default by warning for -I and -J, only. @item -Wno-missing-profile @opindex Wmissing-profile diff --git a/gcc/fortran/cpp.c b/gcc/fortran/cpp.c index 3ff895455e9..e86386c8b17 100644 --- a/gcc/fortran/cpp.c +++ b/gcc/fortran/cpp.c @@ -245,11 +245,12 @@ gfc_cpp_temporary_file (void) } static void -gfc_cpp_register_include_paths (void) +gfc_cpp_register_include_paths (bool verbose_missing_dir_warn) { int cxx_stdinc = 0; cpp_get_options (cpp_in)->warn_missing_include_dirs - = global_options.x_cpp_warn_missing_include_dirs; + = (global_options.x_cpp_warn_missing_include_dirs + && verbose_missing_dir_warn); register_include_chains (cpp_in, gfc_cpp_option.sysroot, gfc_cpp_option.prefix, gfc_cpp_option.multilib, gfc_cpp_option.standard_include_paths, cxx_stdinc, @@ -484,7 +485,7 @@ gfc_cpp_init_cb (void) } void -gfc_cpp_post_options (void) +gfc_cpp_post_options (bool verbose_missing_dir_warn) { /* Any preprocessing-related option without '-cpp' is considered an error. */ @@ -547,7 +548,7 @@ gfc_cpp_post_options (void) diagnostic_initialize_input_context (global_dc, nullptr, true); gfc_cpp_init_cb (); - gfc_cpp_register_include_paths (); + gfc_cpp_register_include_paths (verbose_missing_dir_warn); } diff --git a/gcc/fortran/cpp.h b/gcc/fortran/cpp.h index 5cb7e5a9c34..44644a2a333 100644 --- a/gcc/fortran/cpp.h +++ b/gcc/fortran/cpp.h @@ -41,7 +41,7 @@ void gfc_cpp_init_options (unsigned int decoded_options_count, int gfc_cpp_handle_option(size_t scode, const char *arg, int value); -void gfc_cpp_post_options (void); +void gfc_cpp_post_options (bool); bool gfc_cpp_preprocess (const char *source_file); diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c index 026228da09f..58dcaf01d75 100644 --- a/gcc/fortran/f95-lang.c +++ b/gcc/fortran/f95-lang.c @@ -259,8 +259,8 @@ gfc_init (void) gfc_init_1 (); - if (!gfc_new_file ()) - fatal_error (input_location, "cannot open input file: %s", gfc_source_file); + /* Calls exit in case of a fail. */ + gfc_new_file (); if (flag_preprocess_only) return false; diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h index 3c7a8434d07..7ef835b211a 100644 --- a/gcc/fortran/gfortran.h +++ b/gcc/fortran/gfortran.h @@ -3032,7 +3032,7 @@ void gfc_scanner_init_1 (void); void gfc_add_include_path (const char *, bool, bool, bool, bool); void gfc_add_intrinsic_modules_path (const char *); void gfc_release_include_path (void); -void gfc_check_include_dirs (void); +void gfc_check_include_dirs (bool); FILE *gfc_open_included_file (const char *, bool, bool); int gfc_at_end (void); @@ -3064,7 +3064,7 @@ gfc_char_t gfc_peek_char (void); char gfc_peek_ascii_char (void); void gfc_error_recovery (void); void gfc_gobble_whitespace (void); -bool gfc_new_file (void); +void gfc_new_file (void); const char * gfc_read_orig_filename (const char *, const char **); extern gfc_source_form gfc_current_form; diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index d789397515a..016b70443ae 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -251,14 +251,20 @@ gfc_post_options (const char **pfilename) { const char *filename = *pfilename, *canon_source_file = NULL; char *source_path; + bool verbose_missing_dir_warn; int i; /* This needs to be after the commandline has been processed. In Fortran, the options is by default enabled, in C/C++ - by default disabled. */ + by default disabled. + If not enabled explicitly by the user, only warn for -I + and -J, otherwise warn for all include paths. */ + verbose_missing_dir_warn + = (global_options_set.x_cpp_warn_missing_include_dirs + && global_options.x_cpp_warn_missing_include_dirs); SET_OPTION_IF_UNSET (&global_options, &global_options_set, cpp_warn_missing_include_dirs, 1); - gfc_check_include_dirs (); + gfc_check_include_dirs (verbose_missing_dir_warn); /* Finalize DEC flags. */ post_dec_flags (flag_dec); @@ -339,10 +345,13 @@ 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, true, false); + /* Only warn if the directory is different from the input file as + if that one is not found, already an error is shown. */ + bool warn = gfc_option.flag_preprocessed && gfc_source_file != filename; + gfc_add_include_path (source_path, true, true, warn, false); } else - gfc_add_include_path (".", true, true, true, false); + gfc_add_include_path (".", true, true, false, false); if (canon_source_file != gfc_source_file) free (CONST_CAST (char *, canon_source_file)); @@ -490,7 +499,7 @@ gfc_post_options (const char **pfilename) gfc_fatal_error ("Maximum subrecord length cannot exceed %d", MAX_SUBRECORD_LENGTH); - gfc_cpp_post_options (); + gfc_cpp_post_options (verbose_missing_dir_warn); if (gfc_option.allow_std & GFC_STD_F2008) lang_hooks.name = "GNU Fortran2008"; diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index 6fe74bd5b8d..52124bd5d36 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -307,9 +307,9 @@ gfc_do_check_include_dir (const char *path, bool warn) if (errno != ENOENT) gfc_warning_now (0, "Include directory %qs: %s", path, xstrerror(errno)); - else if (warn && !gfc_cpp_enabled ()) + else if (warn) gfc_warning_now (OPT_Wmissing_include_dirs, - "Nonexistent include directory %qs", path); + "Nonexistent include directory %qs", path); return false; } else if (!S_ISDIR (st.st_mode)) @@ -323,7 +323,7 @@ gfc_do_check_include_dir (const char *path, bool warn) /* In order that -W(no-)missing-include-dirs works, the diagnostic can only be run after processing the commandline. */ static void -gfc_do_check_include_dirs (gfc_directorylist **list) +gfc_do_check_include_dirs (gfc_directorylist **list, bool do_warn) { gfc_directorylist *prev, *q, *n; prev = NULL; @@ -331,7 +331,7 @@ gfc_do_check_include_dirs (gfc_directorylist **list) while (n) { q = n; n = n->next; - if (gfc_do_check_include_dir (q->path, q->warn)) + if (gfc_do_check_include_dir (q->path, q->warn && do_warn)) { prev = q; continue; @@ -346,10 +346,16 @@ gfc_do_check_include_dirs (gfc_directorylist **list) } void -gfc_check_include_dirs () +gfc_check_include_dirs (bool verbose_missing_dir_warn) { - gfc_do_check_include_dirs (&include_dirs); - gfc_do_check_include_dirs (&intrinsic_modules_dirs); + /* This is a bit convoluted: If gfc_cpp_enabled () and + verbose_missing_dir_warn, the warning is shown by libcpp. Otherwise, + it is shown here, still conditional on OPT_Wmissing_include_dirs. */ + bool warn = !gfc_cpp_enabled () || !verbose_missing_dir_warn; + gfc_do_check_include_dirs (&include_dirs, warn); + gfc_do_check_include_dirs (&intrinsic_modules_dirs, verbose_missing_dir_warn); + if (gfc_option.module_dir && gfc_cpp_enabled ()) + gfc_do_check_include_dirs (&include_dirs, true); } /* Adds path to the list pointed to by list. */ @@ -2771,7 +2777,7 @@ load_file (const char *realfilename, const char *displayedname, bool initial) it tries to determine the source form from the filename, defaulting to free form. */ -bool +void gfc_new_file (void) { bool result; @@ -2789,6 +2795,9 @@ gfc_new_file (void) else result = load_file (gfc_source_file, NULL, true); + if (!result) + exit (FATAL_EXIT_CODE); + gfc_current_locus.lb = line_head; gfc_current_locus.nextc = (line_head == NULL) ? NULL : line_head->line; @@ -2799,8 +2808,6 @@ gfc_new_file (void) exit (SUCCESS_EXIT_CODE); #endif - - return result; } static char * diff --git a/gcc/testsuite/gfortran.dg/include_14.f90 b/gcc/testsuite/gfortran.dg/include_14.f90 index b306b2c813b..8110e49bf43 100644 --- a/gcc/testsuite/gfortran.dg/include_14.f90 +++ b/gcc/testsuite/gfortran.dg/include_14.f90 @@ -1,5 +1,6 @@ -! { dg-additional-options "-cpp -idirafter /fdaf/ -I bar" } +! { dg-additional-options "-cpp -idirafter /fdaf/ -I bar -J foo/bar" } end +! default: warn for -I and -J but ignore other options. +! { dg-warning "Nonexistent include directory 'bar/'" "" { target *-*-* } 0 } +! { dg-warning "Nonexistent include directory 'foo/bar/'" "" { target *-*-* } 0 } -! { dg-warning "/fdaf/: No such file or directory" "" { target *-*-* } 0 } -! { dg-warning "bar: No such file or directory" "" { target *-*-* } 0 } diff --git a/gcc/testsuite/gfortran.dg/include_15.f90 b/gcc/testsuite/gfortran.dg/include_15.f90 index 4944282f931..068dcef5826 100644 --- a/gcc/testsuite/gfortran.dg/include_15.f90 +++ b/gcc/testsuite/gfortran.dg/include_15.f90 @@ -1,5 +1,6 @@ -! { dg-additional-options "-cpp -idirafter /fdaf/ -I bar -Wmissing-include-dirs" } +! { dg-additional-options "-cpp -idirafter /fdaf/ -I bar -J foo/bar -Wmissing-include-dirs" } end -! { dg-warning "/fdaf/: No such file or directory" "" { target *-*-* } 0 } -! { dg-warning "bar: No such file or directory" "" { target *-*-* } 0 } +! { dg-warning " /fdaf/: No such file or directory" "" { target *-*-* } 0 } +! { dg-warning " bar: No such file or directory" "" { target *-*-* } 0 } +! { dg-warning " foo/bar: No such file or directory" "" { target *-*-* } 0 } diff --git a/gcc/testsuite/gfortran.dg/include_16.f90 b/gcc/testsuite/gfortran.dg/include_16.f90 index 45794f28e73..65e4c7efdad 100644 --- a/gcc/testsuite/gfortran.dg/include_16.f90 +++ b/gcc/testsuite/gfortran.dg/include_16.f90 @@ -1,2 +1,2 @@ -! { dg-additional-options "-cpp -idirafter /fdaf/ -I bar -Wno-missing-include-dirs" } +! { dg-additional-options "-cpp -idirafter /fdaf/ -I bar -J foo/bar -Wno-missing-include-dirs" } end diff --git a/gcc/testsuite/gfortran.dg/include_17.f90 b/gcc/testsuite/gfortran.dg/include_17.f90 index 0ed5c86d323..06677590be3 100644 --- a/gcc/testsuite/gfortran.dg/include_17.f90 +++ b/gcc/testsuite/gfortran.dg/include_17.f90 @@ -1,4 +1,6 @@ ! { dg-do compile } -! { dg-options "-I foo-bar -Wno-missing-include-dirs" } +! { dg-options "-I foo-bar -J foo/bar" } end +! { dg-warning "Nonexistent include directory 'foo-bar/'" "" { target *-*-* } 0 } +! { dg-warning "Nonexistent include directory 'foo/bar/'" "" { target *-*-* } 0 } diff --git a/gcc/testsuite/gfortran.dg/include_18.f90 b/gcc/testsuite/gfortran.dg/include_18.f90 index ca69df382fe..b74a585bf1b 100644 --- a/gcc/testsuite/gfortran.dg/include_18.f90 +++ b/gcc/testsuite/gfortran.dg/include_18.f90 @@ -1,3 +1,5 @@ ! { dg-do compile } -! { dg-options "-I nothere -Wno-missing-include-dirs" } +! { dg-options "-I nothere -J neither/here -Wmissing-include-dirs" } end +! { dg-warning "Nonexistent include directory 'nothere/'" "" { target *-*-* } 0 } +! { dg-warning "Nonexistent include directory 'neither/here/'" "" { target *-*-* } 0 } diff --git a/gcc/testsuite/gfortran.dg/include_19.f90 b/gcc/testsuite/gfortran.dg/include_19.f90 index 2a068174b7e..74049295281 100644 --- a/gcc/testsuite/gfortran.dg/include_19.f90 +++ b/gcc/testsuite/gfortran.dg/include_19.f90 @@ -1,4 +1,4 @@ ! { dg-do compile } -! { dg-options "-J foobar/foo -Wno-missing-include-dirs" } +! { dg-options "-I nothere -J foobar/foo -Wno-missing-include-dirs" } program main end program main diff --git a/libgfortran/configure b/libgfortran/configure index 350159aa4fe..4810b9b032e 100755 --- a/libgfortran/configure +++ b/libgfortran/configure @@ -5985,7 +5985,7 @@ fi # Add -Wall -fno-repack-arrays -fno-underscoring if we are using GCC. if test "x$GCC" = "xyes"; then - AM_FCFLAGS="-I . -Wall -Werror -fimplicit-none -fno-repack-arrays -fno-underscoring -Wno-missing-include-dirs" + AM_FCFLAGS="-I . -Wall -Werror -fimplicit-none -fno-repack-arrays -fno-underscoring" ## We like to use C11 and C99 routines when available. This makes ## sure that ## __STDC_VERSION__ is set such that libc includes make them available. diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac index a3550b4e5d0..a77509801e6 100644 --- a/libgfortran/configure.ac +++ b/libgfortran/configure.ac @@ -146,7 +146,7 @@ AM_PROG_CC_C_O # Add -Wall -fno-repack-arrays -fno-underscoring if we are using GCC. if test "x$GCC" = "xyes"; then - AM_FCFLAGS="-I . -Wall -Werror -fimplicit-none -fno-repack-arrays -fno-underscoring -Wno-missing-include-dirs" + AM_FCFLAGS="-I . -Wall -Werror -fimplicit-none -fno-repack-arrays -fno-underscoring" ## We like to use C11 and C99 routines when available. This makes ## sure that ## __STDC_VERSION__ is set such that libc includes make them available. diff --git a/libgomp/testsuite/libgomp.fortran/fortran.exp b/libgomp/testsuite/libgomp.fortran/fortran.exp index 912dd2a743e..eb701311b6a 100644 --- a/libgomp/testsuite/libgomp.fortran/fortran.exp +++ b/libgomp/testsuite/libgomp.fortran/fortran.exp @@ -20,9 +20,6 @@ dg-init # Turn on OpenMP. lappend ALWAYS_CFLAGS "additional_flags=-fopenmp" -# Silence warnings due to explicitly passed but nonexisting -# -isystem /target>/{sys-,}include (gfortran warns by default) -lappend ALWAYS_CFLAGS "additional_flags=-Wno-missing-include-dirs" if { $blddir != "" } { set lang_source_re {^.*\.[fF](|90|95|03|08)$} diff --git a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp index 22e91eca256..7365b320668 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp +++ b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp @@ -22,9 +22,6 @@ dg-init # Turn on OpenACC. lappend ALWAYS_CFLAGS "additional_flags=-fopenacc" -# Silence warnings due to explicitly passed but nonexisting -# -isystem /target>/{sys-,}include (gfortran warns by default) -lappend ALWAYS_CFLAGS "additional_flags=-Wno-missing-include-dirs" if { $blddir != "" } { set lang_source_re {^.*\.[fF](|90|95|03|08)$}