This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch, fortran] Fix PR 54033, problems with -I, with test cases
- From: Thomas Koenig <tkoenig at netcologne dot de>
- To: Tobias Burnus <burnus at net-b dot de>
- Cc: Richard Guenther <richard dot guenther at gmail dot com>, "fortran at gcc dot gnu dot org" <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 02 Aug 2012 22:08:09 +0200
- Subject: Re: [patch, fortran] Fix PR 54033, problems with -I, with test cases
- References: <50117B5D.8030304@netcologne.de> <50118A67.2040702@mentor.com> <5012F4AF.7050807@netcologne.de> <50130F9B.1010300@mentor.com> <5015015F.6070303@netcologne.de> <5017E1F6.3050906@net-b.de> <CAFiYyc0Cwb+qMYC6QQV=5Y0cY+-CN+586pZ446RsCVcnCgMVgg@mail.gmail.com> <501A4B12.8070709@net-b.de>
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;