gcc/libgomp/testsuite/libgomp.fortran
Tobias Burnus 83aac69883 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.
2021-09-22 20:58:35 +02:00
..
appendix-a
examples-4
affinity1.f90
affinity2.f90
aligned1.f03
alloc-1.F90 Fortran/OpenMP: Add memory routines existing for C/C++ 2021-08-18 11:15:47 +02:00
alloc-2.F90
alloc-3.F
alloc-4.f90 Fortran/OpenMP: Add memory routines existing for C/C++ 2021-08-18 11:15:47 +02:00
alloc-5.f90
alloc-comp-1.f90
alloc-comp-2.f90
alloc-comp-3.f90
allocatable1.f90
allocatable2.f90
allocatable3.f90
allocatable4.f90
allocatable5.f90
allocatable6.f90
allocatable7.f90
allocatable8.f90
allocatable9.f90
allocatable10.f90
allocatable11.f90
allocatable12.f90
associate1.f90
associate2.f90
associate3.f90
async_io_1.f90
async_io_2.f90
async_io_3.f90
async_io_4.f90
async_io_5.f90
async_io_6.f90
async_io_7.f90
async_io_8.f90
async_io_9.f90
atomic1.f90
cancel-do-1.f90
cancel-do-2.f90
cancel-parallel-1.f90
cancel-parallel-3.f90
cancel-sections-1.f90
cancel-taskgroup-2.f90
character1.f90
character2.f90
class-firstprivate-1.f90 OpenMP/Fortran: Handle polymorphic scalars in data-sharing FIRSTPRIVATE [PR86470] 2021-05-24 16:50:51 +02:00
class-firstprivate-2.f90 OpenMP/Fortran: Handle polymorphic scalars in data-sharing FIRSTPRIVATE [PR86470] 2021-05-24 16:50:51 +02:00
class-firstprivate-3.f90 OpenMP/Fortran: Handle polymorphic scalars in data-sharing FIRSTPRIVATE [PR86470] 2021-05-24 16:50:51 +02:00
close_errors_1.f90
collapse1.f90
collapse2.f90
collapse3.f90
collapse4.f90
condinc1.f
condinc1.inc
condinc2.f
condinc3.f90
condinc4.f90
crayptr1.f90
crayptr2.f90
crayptr3.f90
critical-hint-1.f90
critical-hint-2.f90
declare-simd-1.f90
declare-simd-2.f90
declare-simd-3.f90
declare-simd-4.f90
declare-target-1.f90
declare-target-2.f90
declare-target-3.f90
defaultmap-8.f90 libgomp.fortran/defaultmap-8.f90: Fix non-shared memory handling 2021-06-29 15:50:23 +02:00
depend-1.f90
depend-2.f90
depend-3.f90
depend-iterator-2.f90 OpenMP: Add iterator support to Fortran's depend; add affinity clause 2021-05-28 10:46:23 +02:00
depobj-1.f90 OpenMP/Fortran - fix pasto + testcase in depobj [PR100397] 2021-05-04 09:22:36 +02:00
display-affinity-1.f90
do1.f90
do2.f90
do_concurrent_5.f90
doacross1.f90
doacross2.f90
doacross3.f90
dummy-procs-1.f90 Fortran/OpenMP: Fix optional dummy procedures [PR99171] 2021-02-22 13:20:26 +01:00
error-1.f90 libgomp.*/error-1.{c,f90}: Fix dg-output newline pattern 2021-09-03 15:27:00 +02:00
fortran.exp Fortran: Improve -Wmissing-include-dirs warnings [PR55534] 2021-09-22 20:58:35 +02:00
is_device_ptr-1.f90 OpenMP/Fortran: Fixes for {use,is}_device_ptr 2021-01-19 11:58:21 +01:00
jacobi.f
lastprivate1.f90
lastprivate2.f90
lastprivate-conditional-10.f90
lib1.f90
lib2.f
lib3.f
lib4.f90
lock-1.f90
lock-2.f90
map-alloc-ptr-1.f90
map-alloc-ptr-2.f90
masked-1.f90 Fortran/OpenMP: Add support for OpenMP 5.1 masked construct 2021-08-16 09:26:26 +02:00
nested1.f90
nestedfn1.f90
nestedfn2.f90
nestedfn3.f90
nestedfn4.f90
nestedfn5.f90
omp_atomic1.f90
omp_atomic2.f90
omp_atomic3.f90
omp_atomic4.f90
omp_atomic5.f90
omp_cond1.f
omp_cond2.f
omp_cond3.F90
omp_cond4.F90
omp_hello.f
omp_orphan.f
omp_parse1.f90
omp_parse2.f90
omp_parse3.f90
omp_parse4.f90
omp_reduction.f
omp_workshare1.f
omp_workshare2.f
on_device_arch.c libgomp: Fix on_device_arch.c aux-file handling [PR99555] 2021-03-29 10:40:38 +02:00
openmp_version-1.f
openmp_version-2.f90
optional-map.f90
parallel-master.f90 Fortran/OpenMP: Support 'omp parallel master' 2021-05-14 19:21:47 +02:00
parloops-exit-first-loop-alt-2.f95
parloops-exit-first-loop-alt.f95
pointer1.f90
pointer2.f90
pr25162.f
pr25219.f90
pr27395-1.f90
pr27395-2.f90
pr27416-1.f90
pr27916-1.f90
pr27916-2.f90
pr28390.f
pr29629.f90
pr32359.f90
pr32550.f90
pr33880.f90
pr34020.f90
pr35130.f90
pr42162.f90
pr46753.f90
pr48894.f90
pr49792-1.f90
pr49792-2.f90
pr63938-1.f90
pr63938-2.f90
pr65597.f90
pr66199-1.f90
pr66199-2.f90
pr66199-3.f90
pr66199-4.f90
pr66199-5.f90
pr66199-6.f90
pr66199-7.f90
pr66199-8.f90
pr66199-9.f90
pr66680.f90
pr71014.f90
pr71734-1.f90
pr71734-2.f90
pr81304.f90
pr81841.f90
pr84418-1.f90
pr84418-2.f90
pr88463-1.f90
pr88463-2.f90
pr90779.f90
pr93553.f90
pr95654.f90
pr100981-2.f90 testsuite: Fix up libgomp.fortran/pr100981-2.f90 testcase [PR100981] 2021-06-10 09:31:06 +02:00
procptr1.f90
recursion1.f90
reduction1.f90
reduction2.f90
reduction3.f90
reduction4.f90
reduction5.f90
reduction6.f90
refcount-1.f90 Fortran/OpenMP: Add memory routines existing for C/C++ 2021-08-18 11:15:47 +02:00
reference1.f90
reference2.f90
retval1.f90
retval2.f90
scan-1.f90
scope-1.f90 Fortran: Implement OpenMP 5.1 scope construct 2021-08-17 15:51:03 +02:00
sharing1.f90
sharing2.f90
simd1.f90
simd2.f90
simd3.f90
simd4.f90
simd5.f90
simd6.f90
simd7.f90
stack.f90
strassen.f90
struct-elem-map-1.f90
tabs1.f90
tabs2.f
target1.f90
target2.f90
target3.f90
target4.f90
target5.f90
target6.f90
target7.f90
target8.f90
target9.f90
target10.f90 Allow matching Intel MIC in OpenMP 'declare variant' 2021-08-23 17:45:40 +02:00
target-12.f90 Fortran/OpenMP: Add memory routines existing for C/C++ 2021-08-18 11:15:47 +02:00
target-allocatable-1-1.f90
target-allocatable-1-2.f90
target-enter-data-1.f90
target-enter-data-2.F90
target-map-1.f90
target-print-1-nvptx.f90
target-print-1.f90
target-simd.f90
target-var.f90
task1.f90
task2.f90
task3.f90
task4.f90
task-detach-1.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-2.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-3.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-4.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-5.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-6.f90 XFAIL OpenMP/nvptx execution-time hangs for simple nested OpenMP 'target'/'parallel'/'task' constructs [PR99555] 2021-04-15 11:13:27 +02:00
task-detach-7.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-8.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-9.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-10.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-11.f90 openmp: Fix intermittent hanging of task-detach-6 libgomp tests [PR98738] 2021-02-25 14:47:11 -08:00
task-detach-12.f90 OpenMP: detach - fix firstprivate handling 2021-05-13 00:14:34 +02:00
task-reduction-16.f90 Fortran: Implement OpenMP 5.1 scope construct 2021-08-17 15:51:03 +02:00
taskgroup1.f90
taskloop1.f90
taskloop2.f90
taskloop3.f90
taskloop4.f90
taskloop-4-a.f90 Fortran/OpenMP: strict modifier on grainsize/num_tasks 2021-08-23 15:15:30 +02:00
taskloop-4.f90 Fortran/OpenMP: strict modifier on grainsize/num_tasks 2021-08-23 15:15:30 +02:00
taskloop-5-a.f90 Fortran/OpenMP: strict modifier on grainsize/num_tasks 2021-08-23 15:15:30 +02:00
taskloop-5.f90 Fortran/OpenMP: strict modifier on grainsize/num_tasks 2021-08-23 15:15:30 +02:00
teams1.f90
teams2.f90
threadprivate1.f90
threadprivate2.f90
threadprivate3.f90
threadprivate4.f90
udr1.f90
udr2.f90
udr3.f90
udr4.f90
udr5.f90
udr6.f90
udr7.f90
udr8.f90
udr9.f90
udr10.f90
udr11.f90
udr12.f90
udr13.f90
udr14.f90
udr15.f90
use_device_addr-1.f90
use_device_addr-2.f90
use_device_addr-3.f90
use_device_addr-4.f90
use_device_ptr-1.f90
use_device_ptr-3.f90 Fortran/OpenMP: Fix use_device_{ptr,addr} with assumed-size array [PR98858] 2021-03-12 16:33:02 +01:00
use_device_ptr-optional-1.f90
use_device_ptr-optional-2.f90
use_device_ptr-optional-3.f90
use_intrinsic_1.f90
vla1.f90
vla2.f90
vla3.f90
vla4.f90
vla5.f90
vla6.f90
vla7.f90
vla8.f90
workshare1.f90
workshare2.f90