83aac69883
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. |
||
---|---|---|
.. | ||
appendix-a | ||
examples-4 | ||
affinity1.f90 | ||
affinity2.f90 | ||
aligned1.f03 | ||
alloc-1.F90 | ||
alloc-2.F90 | ||
alloc-3.F | ||
alloc-4.f90 | ||
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 | ||
class-firstprivate-2.f90 | ||
class-firstprivate-3.f90 | ||
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 | ||
depend-1.f90 | ||
depend-2.f90 | ||
depend-3.f90 | ||
depend-iterator-2.f90 | ||
depobj-1.f90 | ||
display-affinity-1.f90 | ||
do1.f90 | ||
do2.f90 | ||
do_concurrent_5.f90 | ||
doacross1.f90 | ||
doacross2.f90 | ||
doacross3.f90 | ||
dummy-procs-1.f90 | ||
error-1.f90 | ||
fortran.exp | ||
is_device_ptr-1.f90 | ||
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 | ||
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 | ||
openmp_version-1.f | ||
openmp_version-2.f90 | ||
optional-map.f90 | ||
parallel-master.f90 | ||
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 | ||
procptr1.f90 | ||
recursion1.f90 | ||
reduction1.f90 | ||
reduction2.f90 | ||
reduction3.f90 | ||
reduction4.f90 | ||
reduction5.f90 | ||
reduction6.f90 | ||
refcount-1.f90 | ||
reference1.f90 | ||
reference2.f90 | ||
retval1.f90 | ||
retval2.f90 | ||
scan-1.f90 | ||
scope-1.f90 | ||
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 | ||
target-12.f90 | ||
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 | ||
task-detach-2.f90 | ||
task-detach-3.f90 | ||
task-detach-4.f90 | ||
task-detach-5.f90 | ||
task-detach-6.f90 | ||
task-detach-7.f90 | ||
task-detach-8.f90 | ||
task-detach-9.f90 | ||
task-detach-10.f90 | ||
task-detach-11.f90 | ||
task-detach-12.f90 | ||
task-reduction-16.f90 | ||
taskgroup1.f90 | ||
taskloop1.f90 | ||
taskloop2.f90 | ||
taskloop3.f90 | ||
taskloop4.f90 | ||
taskloop-4-a.f90 | ||
taskloop-4.f90 | ||
taskloop-5-a.f90 | ||
taskloop-5.f90 | ||
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 | ||
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 |