ISO_Fortran_binding patch

Jakub Jelinek jakub@redhat.com
Mon Jan 14 23:08:00 GMT 2019


On Sat, Jan 12, 2019 at 06:35:20PM +0000, Paul Richard Thomas wrote:
> Done as revision 267884.

The other tests FAILs too:
FAIL: gfortran.dg/ISO_Fortran_binding_1.f90   -O0  (test for excess errors)
UNRESOLVED: gfortran.dg/ISO_Fortran_binding_1.f90   -O0  compilation failed to produce executable
FAIL: gfortran.dg/ISO_Fortran_binding_1.f90   -O1  (test for excess errors)
UNRESOLVED: gfortran.dg/ISO_Fortran_binding_1.f90   -O1  compilation failed to produce executable
FAIL: gfortran.dg/ISO_Fortran_binding_1.f90   -O2  (test for excess errors)
UNRESOLVED: gfortran.dg/ISO_Fortran_binding_1.f90   -O2  compilation failed to produce executable
FAIL: gfortran.dg/ISO_Fortran_binding_1.f90   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess errors)
UNRESOLVED: gfortran.dg/ISO_Fortran_binding_1.f90   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  compilation failed to produce executable
FAIL: gfortran.dg/ISO_Fortran_binding_1.f90   -O3 -g  (test for excess errors)
UNRESOLVED: gfortran.dg/ISO_Fortran_binding_1.f90   -O3 -g  compilation failed to produce executable
FAIL: gfortran.dg/ISO_Fortran_binding_1.f90   -Os  (test for excess errors)
UNRESOLVED: gfortran.dg/ISO_Fortran_binding_1.f90   -Os  compilation failed to produce executable

The problem is that:
Excess errors:
/home/jakub/src/gcc/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.c:3:10: fatal error: ISO_Fortran_binding.h: No such file or directory
compilation terminated.

It either should
#include "../../../libgfortran/ISO_Fortran_binding.h"
instead or the Fortran *.exp files should arrange for -I.../libgfortran/
to be added to all gfortran tests.  Because right now it FAILs if you don't
have ISO_Fortran_binding.h header installed, or succeeds, but includes
header from some other compiler version or even other compiler altogether.

Where is that header installed BTW?
Would be best if it got installed in directories like:
$prefix/lib/gcc/$target/$version/include

See e.g. libssp or libsanitizer, both have something like
target_noncanonical = @target_noncanonical@
libsubincludedir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
nobase_libsubinclude_HEADERS = ssp/ssp.h ssp/string.h ssp/stdio.h ssp/unistd.h

You probably want it to go directly in the include dir, so without the ssp/
or whatever else prefixes.

	Jakub



More information about the Fortran mailing list