This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, libgomp] libgomp.fortran/fortran.exp - add -fintrinsic-modules-path ${blddir}
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Thomas Schwinge <thomas at codesourcery dot com>
- Cc: Tobias Burnus <burnus at net-b dot de>, gcc patches <gcc-patches at gcc dot gnu dot org>, ro at CeBiTec dot Uni-Bielefeld dot DE, mikestump at comcast dot net, janisjo at codesourcery dot com
- Date: Thu, 3 Jul 2014 13:35:15 +0200
- Subject: Re: [Patch, libgomp] libgomp.fortran/fortran.exp - add -fintrinsic-modules-path ${blddir}
- Authentication-results: sourceware.org; auth=none
- References: <50D1DF81 dot 1090300 at net-b dot de> <87simjtzid dot fsf at kepler dot schwinge dot homeip dot net> <53B45A03 dot 2030407 at net-b dot de> <87mwcqvj6k dot fsf at schwinge dot name>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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 <jakub@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