re PR fortran/54033 (gfortran: Passing file as include directory - add diagnostic and ICE with -cpp)

2012-08-01  Thomas König  <tkoenig@gcc.gnu.org>

	PR fortran/54033
	* scanner.c (add_path_to_list): Emit warning if an error occurs
	for an include path, if it is not present or if it is not a
	directory.  Do not add the path in these cases.

2012-08-01  Thomas König  <tkoenig@gcc.gnu.org>

	PR fortran/54033
	* gfortran.dg/include_6.f90:  New test case.
	* gfortran.dg/include_7.f90:  New test case.
	* gfortran.dg/include_3.f90:  Add dg-warning for missing directory.

From-SVN: r190054
This commit is contained in:
Thomas Koenig 2012-08-01 21:43:50 +00:00
parent fdd195f49b
commit ff9e56a94f
6 changed files with 43 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2012-08-01 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/54033
* scanner.c (add_path_to_list): Emit warning if an error occurs
for an include path, if it is not present or if it is not a
directory. Do not add the path in these cases.
2012-07-31 Janus Weil <janus@gcc.gnu.org>
PR fortran/42418

View File

@ -311,12 +311,29 @@ add_path_to_list (gfc_directorylist **list, const char *path,
{
gfc_directorylist *dir;
const char *p;
struct stat st;
p = path;
while (*p == ' ' || *p == '\t') /* someone might do "-I include" */
if (*p++ == '\0')
return;
if (stat (p, &st))
{
if (errno != ENOENT)
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);
return;
}
else if (!S_ISDIR (st.st_mode))
{
gfc_warning_now ("\"%s\" is not a directory", path);
return;
}
if (head || *list == NULL)
{
dir = XCNEW (gfc_directorylist);

View File

@ -1,3 +1,10 @@
2012-08-01 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/54033
* gfortran.dg/include_6.f90: New test case.
* gfortran.dg/include_7.f90: New test case.
* gfortran.dg/include_3.f90: Add dg-warning for missing directory.
2012-08-01 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/vrp76.c: New test.

View File

@ -24,3 +24,4 @@ end function
! { dg-do compile }
! { dg-options "-fpreprocessed -g3" }
! { dg-warning "Nonexistent include directory" "missing directory" { target *-*-* } 0 }

View File

@ -0,0 +1,5 @@
! { dg-do compile }
! { dg-options "-I gfortran.log" }
! { dg-warning "is not a directory" "" { target *-*-* } 0 }
end

View File

@ -0,0 +1,5 @@
! { dg-do compile }
! { dg-options "-I nothere" }
! { dg-warning "Nonexistent include directory" "missing directory" { target *-*-* } 0 }
end