ISO_Fortran_binding.h is written in the build dir - hence, a previous commit
added it as include directory for in-build-tree testing. However,
it turned out that -I$specdir/libgfortran interferes with reading .mod files
as they are then no longer regareded as intrinsic modules. Solution: Create
an extra include/ directory in the libgfortran build dir and copy
ISO_Fortran_binding.h to that directory. As -B$specdir/libgfortran already
causes gfortran to read that include subdirectory, the -I flag is no longer
needed.
PR libfortran/101305
PR fortran/101660
PR testsuite/101847
libgfortran/ChangeLog:
* Makefile.am (ISO_Fortran_binding.h): Create include/ in the build dir
and copy the include file to it.
(clean-local): Add for removing the 'include' directory.
* Makefile.in: Regenerate.
gcc/testsuite/ChangeLog:
* lib/gfortran.exp (gfortran_init): Remove -I$specpath/libgfortran
from the string used to set GFORTRAN_UNDER_TEST.
(cherry picked from commit
2ba0376ac40447ce7ee09fcef00511c18db25dfa)
+2021-08-11 Sandra Loosemore <sandra@codesourcery.com>
+
+ Backported from master:
+
+ 2021-08-10 Tobias Burnus <tobias@codesourcery.com>
+
+ PR libfortran/101305
+ PR fortran/101660
+ PR testsuite/101847
+
+ * lib/gfortran.exp (gfortran_init): Remove -I$specpath/libgfortran
+ from the string used to set GFORTRAN_UNDER_TEST.
+
2021-08-11 Sandra Loosemore <sandra@codesourcery.com>
Backported from master:
set specpath [get_multilibs]
}
set gfortran_init_set_GFORTRAN_UNDER_TEST 1
- set GFORTRAN_UNDER_TEST [findfile $base_dir/../../gfortran "$base_dir/../../gfortran -B$base_dir/../../ -B$specpath/libgfortran/ -I$specpath/libgfortran" [findfile $base_dir/gfortran "$base_dir/gfortran -B$base_dir/" [transform gfortran]]]
+ set GFORTRAN_UNDER_TEST [findfile $base_dir/../../gfortran "$base_dir/../../gfortran -B$base_dir/../../ -B$specpath/libgfortran/" [findfile $base_dir/gfortran "$base_dir/gfortran -B$base_dir/" [transform gfortran]]]
}
}
}
+2021-08-11 Sandra Loosemore <sandra@codesourcery.com>
+
+ Backported from master:
+
+ 2021-08-10 Tobias Burnus <tobias@codesourcery.com>
+
+ PR libfortran/101305
+ PR fortran/101660
+ PR testsuite/101847
+ * Makefile.am (ISO_Fortran_binding.h): Create include/ in the build dir
+ and copy the include file to it.
+ (clean-local): Add for removing the 'include' directory.
+ * Makefile.in: Regenerate.
+
2021-08-11 Sandra Loosemore <sandra@codesourcery.com>
Backported from master:
grep '^#define GFC_FPE_' < $(top_srcdir)/../gcc/fortran/libgfortran.h > $@ || true
grep '^#define GFC_FPE_' < $(srcdir)/libgfortran.h >> $@ || true
+# Place ISO_Fortran_binding.h also under include/ in the build directory such
+# that it can be used for in-built-tree testsuite runs without interference of
+# other files in the build dir - like intrinsic .mod files or other .h files.
ISO_Fortran_binding.h: $(srcdir)/ISO_Fortran_binding-1-tmpl.h \
$(srcdir)/ISO_Fortran_binding-2-tmpl.h \
$(srcdir)/ISO_Fortran_binding-3-tmpl.h \
$(COMPILE) -E -dD $(srcdir)/ISO_Fortran_binding-2-tmpl.h \
| grep '^#define CFI_type' >> $@
cat $(srcdir)/ISO_Fortran_binding-3-tmpl.h >> $@
+ $(MKDIR_P) include
+ -rm -f include/ISO_Fortran_binding.h
+ cp $@ include/ISO_Fortran_binding.h
## A 'normal' build shouldn't need to regenerate these
## so we only include them in maintainer mode
## end of maintainer mode only rules
endif
+clean-local:
+ -rm -rf include
+
EXTRA_DIST = $(m4_files)
# target overrides
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
grep '^#define GFC_FPE_' < $(top_srcdir)/../gcc/fortran/libgfortran.h > $@ || true
grep '^#define GFC_FPE_' < $(srcdir)/libgfortran.h >> $@ || true
+# Place ISO_Fortran_binding.h also under include/ in the build directory such
+# that it can be used for in-built-tree testsuite runs without interference of
+# other files in the build dir - like intrinsic .mod files or other .h files.
ISO_Fortran_binding.h: $(srcdir)/ISO_Fortran_binding-1-tmpl.h \
$(srcdir)/ISO_Fortran_binding-2-tmpl.h \
$(srcdir)/ISO_Fortran_binding-3-tmpl.h \
$(COMPILE) -E -dD $(srcdir)/ISO_Fortran_binding-2-tmpl.h \
| grep '^#define CFI_type' >> $@
cat $(srcdir)/ISO_Fortran_binding-3-tmpl.h >> $@
+ $(MKDIR_P) include
+ -rm -f include/ISO_Fortran_binding.h
+ cp $@ include/ISO_Fortran_binding.h
@MAINTAINER_MODE_TRUE@$(i_all_c): m4/all.m4 $(I_M4_DEPS2)
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 all.m4 > $@
@MAINTAINER_MODE_TRUE@$(gfor_misc_specifics): m4/misc_specifics.m4 m4/head.m4
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 misc_specifics.m4 > $@
+clean-local:
+ -rm -rf include
+
# target overrides
-include $(tmake_file)