On Thu, Jul 03, 2014 at 12:19:15PM +0200, Thomas Schwinge wrote: > I found the following to work (but so far only did libgomp testing), but > that is a little bit more intrusive, but may actually be the right thing > to do. (Possibly also in additional places where ${tool}_target_compile > is used? CCing testsuite maintainers.) Comments?
What about this instead, pass it only for Fortran tests and nothing else? Only very lightly tested so far. 2014-07-03 Jakub Jelinek <ja...@redhat.com> * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source matches regex $lang_source_re, add $lang_include_flags to options. * testsuite/libgomp.c/c.exp: Unset lang_include_flags. * testsuite/libgomp.c++/c++.exp: Likewise. * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re and lang_include_flags instead of adding -fintrinsic-modules-path= to ALWAYS_CFLAGS. * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags. --- libgomp/testsuite/lib/libgomp.exp.jj 2013-11-12 11:30:59.000000000 +0100 +++ libgomp/testsuite/lib/libgomp.exp 2014-07-03 13:24:31.951953289 +0200 @@ -184,6 +184,8 @@ proc libgomp_target_compile { source des global lang_test_file global lang_library_path global lang_link_flags + global lang_include_flags + global lang_source_re if { [info exists lang_test_file] } { if { $blddir != "" } { @@ -193,6 +195,10 @@ proc libgomp_target_compile { source des lappend options "ldflags=-L${blddir}/${lang_library_path}" } lappend options "ldflags=${lang_link_flags}" + if { [info exists lang_include_flags] \ + && [regexp ${lang_source_re} ${source}] } { + lappend options "additional_flags=${lang_include_flags}" + } } if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } { --- libgomp/testsuite/libgomp.c/c.exp.jj 2013-11-12 11:30:59.000000000 +0100 +++ libgomp/testsuite/libgomp.c/c.exp 2014-07-03 12:43:08.091889315 +0200 @@ -5,6 +5,9 @@ if [info exists lang_library_path] then if [info exists lang_test_file] then { unset lang_test_file } +if [info exists lang_include_flags] then { + unset lang_include_flags +} load_lib libgomp-dg.exp load_gcc_lib gcc-dg.exp --- libgomp/testsuite/libgomp.c++/c++.exp.jj 2013-11-12 11:30:59.000000000 +0100 +++ libgomp/testsuite/libgomp.c++/c++.exp 2014-07-03 12:43:23.488808394 +0200 @@ -7,6 +7,9 @@ set shlib_ext [get_shlib_extension] set lang_link_flags "-lstdc++" set lang_test_file_found 0 set lang_library_path "../libstdc++-v3/src/.libs" +if [info exists lang_include_flags] then { + unset lang_include_flags +} # Initialize dg. dg-init --- libgomp/testsuite/libgomp.fortran/fortran.exp.jj 2013-11-12 11:30:59.000000000 +0100 +++ libgomp/testsuite/libgomp.fortran/fortran.exp 2014-07-03 13:23:26.074295258 +0200 @@ -8,6 +8,9 @@ global ALWAYS_CFLAGS set shlib_ext [get_shlib_extension] set lang_library_path "../libgfortran/.libs" set lang_link_flags "-lgfortran" +if [info exists lang_include_flags] then { + unset lang_include_flags +} set lang_test_file_found 0 set quadmath_library_path "../libquadmath/.libs" @@ -19,7 +22,8 @@ dg-init lappend ALWAYS_CFLAGS "additional_flags=-fopenmp" if { $blddir != "" } { - lappend ALWAYS_CFLAGS "additional_flags=-fintrinsic-modules-path=${blddir}" + set lang_source_re {^.*\.[fF](|90|95|03|08)$} + set lang_include_flags "-fintrinsic-modules-path=${blddir}" # Look for a static libgfortran first. if [file exists "${blddir}/${lang_library_path}/libgfortran.a"] { set lang_test_file "${lang_library_path}/libgfortran.a" --- libgomp/testsuite/libgomp.graphite/graphite.exp.jj 2014-01-03 11:41:28.000000000 +0100 +++ libgomp/testsuite/libgomp.graphite/graphite.exp 2014-07-03 12:42:59.942930755 +0200 @@ -21,6 +21,9 @@ if [info exists lang_library_path] then if [info exists lang_test_file] then { unset lang_test_file } +if [info exists lang_include_flags] then { + unset lang_include_flags +} load_lib libgomp-dg.exp load_gcc_lib gcc-dg.exp Jakub