libgomp testsuite: Generalize 'lang_library_path' into a list of 'lang_library_paths' (was: libgomp testsuite: (not) using a specific driver for C++, Fortran?)
Checks
Commit Message
Hi!
On 2014-11-04T10:31:37-0800, Mike Stump <mikestump@comcast.net> wrote:
> On Nov 4, 2014, at 4:13 AM, Thomas Schwinge <thomas@codesourcery.com> wrote:
>> On Wed, 15 Oct 2014 17:46:48 +0200, I wrote:
>>> [...]
>>>
>>> Am I on the right track with the following?
>>
>> Nobody commented, which also means nobody disagreed
>
> :-)
>
>> OK to commit all that to trunk?
>
> Ok, thanks.
Rebased, adjusted, retested another 2014 clean-up patch; pushed to
master branch commit b794dc779382bb9e645ccc10b4447d4e411f6000
"libgomp testsuite: Generalize 'lang_library_path' into a list of 'lang_library_paths'"
("..., and use that for libquadmath, too"), see attached.
Grüße
Thomas
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
From b794dc779382bb9e645ccc10b4447d4e411f6000 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Sun, 2 Nov 2014 17:49:31 +0100
Subject: [PATCH] libgomp testsuite: Generalize 'lang_library_path' into a list
of 'lang_library_paths'
..., and use that for libquadmath, too.
libgomp/
* testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
'lang_library_path' into a list of 'lang_library_paths'.
* testsuite/libgomp.c++/c++.exp: Adjust.
* testsuite/libgomp.oacc-c++/c++.exp: Likewise.
* testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
libquadmath, too.
* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
---
libgomp/testsuite/lib/libgomp.exp | 14 ++++----
libgomp/testsuite/libgomp.c++/c++.exp | 14 ++++----
libgomp/testsuite/libgomp.fortran/fortran.exp | 33 +++++++++--------
libgomp/testsuite/libgomp.oacc-c++/c++.exp | 14 ++++----
.../libgomp.oacc-fortran/fortran.exp | 35 +++++++++++--------
5 files changed, 63 insertions(+), 47 deletions(-)
@@ -241,12 +241,14 @@ proc libgomp_target_compile { source dest type options } {
lappend options "additional_flags=${lang_include_flags}"
}
- global lang_library_path
- if { [info exists lang_library_path] } {
- # Some targets use libgfortran.a%s in their specs, so they need
- # a -B option for uninstalled testing.
- lappend options "additional_flags=-B${blddir}/${lang_library_path}"
- lappend options "ldflags=-L${blddir}/${lang_library_path}"
+ global lang_library_paths
+ if { [info exists lang_library_paths] } {
+ foreach lang_library_path $lang_library_paths {
+ # targets that use lib[...].a%s in their specs need a -B option
+ # for uninstalled testing.
+ lappend options "additional_flags=-B${blddir}/${lang_library_path}"
+ lappend options "ldflags=-L${blddir}/${lang_library_path}"
+ }
}
global lang_link_flags
if { [info exists lang_link_flags] } {
@@ -2,14 +2,15 @@ load_lib libgomp-dg.exp
load_gcc_lib gcc-dg.exp
if { $blddir != "" } {
- set lang_library_path "../libstdc++-v3/src/.libs"
+ set libstdc++_library_path "../libstdc++-v3/src/.libs"
set shlib_ext [get_shlib_extension]
- if { ![file exists "${blddir}/${lang_library_path}/libstdc++.a"]
- && ![file exists "${blddir}/${lang_library_path}/libstdc++.${shlib_ext}"] } {
+ if { ![file exists "${blddir}/${libstdc++_library_path}/libstdc++.a"]
+ && ![file exists "${blddir}/${libstdc++_library_path}/libstdc++.${shlib_ext}"] } {
verbose -log "No libstdc++ library found, will not execute c++ tests"
- unset lang_library_path
+ unset libstdc++_library_path
return
}
+ lappend lang_library_paths ${libstdc++_library_path}
} elseif { ![info exists GXX_UNDER_TEST] } {
verbose -log "GXX_UNDER_TEST not defined, will not execute c++ tests"
return
@@ -39,7 +40,7 @@ set tests [lsort [concat \
set ld_library_path $always_ld_library_path
if { $blddir != "" } {
- append ld_library_path ":${blddir}/${lang_library_path}"
+ append ld_library_path ":${blddir}/${libstdc++_library_path}"
}
append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
set_ld_library_path_env_vars
@@ -62,7 +63,8 @@ if [info exists lang_include_flags] then {
unset lang_include_flags
}
if { $blddir != "" } {
- unset lang_library_path
+ unset libstdc++_library_path
+ unset lang_library_paths
}
unset lang_link_flags
@@ -3,14 +3,23 @@ load_gcc_lib gcc-dg.exp
load_gcc_lib gfortran-dg.exp
if { $blddir != "" } {
- set lang_library_path "../libgfortran/.libs"
+ set libgfortran_library_path "../libgfortran/.libs"
set shlib_ext [get_shlib_extension]
- if { ![file exists "${blddir}/${lang_library_path}/libgfortran.a"]
- && ![file exists "${blddir}/${lang_library_path}/libgfortran.${shlib_ext}"] } {
+ if { ![file exists "${blddir}/${libgfortran_library_path}/libgfortran.a"]
+ && ![file exists "${blddir}/${libgfortran_library_path}/libgfortran.${shlib_ext}"] } {
verbose -log "No libgfortran library found, will not execute fortran tests"
- unset lang_library_path
+ unset libgfortran_library_path
return
}
+ lappend lang_library_paths $libgfortran_library_path
+
+ set libquadmath_library_path "../libquadmath/.libs"
+ if { [file exists "${blddir}/${libquadmath_library_path}/libquadmath.a"]
+ || [file exists "${blddir}/${libquadmath_library_path}/libquadmath.${shlib_ext}"] } {
+ lappend lang_library_paths $libquadmath_library_path
+ } else {
+ set libquadmath_library_path ""
+ }
} elseif { ![info exists GFORTRAN_UNDER_TEST] } {
verbose -log "GFORTRAN_UNDER_TEST not defined, will not execute fortran tests"
return
@@ -32,18 +41,12 @@ set tests [lsort [find $srcdir/$subdir *.\[fF\]{,90,95,03,08}]]
set ld_library_path $always_ld_library_path
if { $blddir != "" } {
- append ld_library_path ":${blddir}/${lang_library_path}"
+ append ld_library_path ":${blddir}/${libgfortran_library_path}"
- set quadmath_library_path "../libquadmath/.libs"
- if { [file exists "${blddir}/${quadmath_library_path}/libquadmath.a"]
- || [file exists "${blddir}/${quadmath_library_path}/libquadmath.${shlib_ext}"] } {
- lappend ALWAYS_CFLAGS "ldflags=-L${blddir}/${quadmath_library_path}/"
- # Allow for spec subsitution.
- lappend ALWAYS_CFLAGS "additional_flags=-B${blddir}/${quadmath_library_path}/"
- append ld_library_path ":${blddir}/${quadmath_library_path}"
+ if { $libquadmath_library_path != "" } {
+ append ld_library_path ":${blddir}/${libquadmath_library_path}"
append lang_link_flags " -lquadmath"
}
- unset quadmath_library_path
} else {
if { [check_no_compiler_messages has_libquadmath executable {
int main() {return 0;}
@@ -62,7 +65,9 @@ gfortran-dg-runtest $tests "" ""
if { $blddir != "" } {
unset lang_source_re
unset lang_include_flags
- unset lang_library_path
+ unset libgfortran_library_path
+ unset libquadmath_library_path
+ unset lang_library_paths
}
unset lang_link_flags
@@ -12,14 +12,15 @@ proc check_effective_target_c++ { } {
}
if { $blddir != "" } {
- set lang_library_path "../libstdc++-v3/src/.libs"
+ set libstdc++_library_path "../libstdc++-v3/src/.libs"
set shlib_ext [get_shlib_extension]
- if { ![file exists "${blddir}/${lang_library_path}/libstdc++.a"]
- && ![file exists "${blddir}/${lang_library_path}/libstdc++.${shlib_ext}"] } {
+ if { ![file exists "${blddir}/${libstdc++_library_path}/libstdc++.a"]
+ && ![file exists "${blddir}/${libstdc++_library_path}/libstdc++.${shlib_ext}"] } {
verbose -log "No libstdc++ library found, will not execute c++ tests"
- unset lang_library_path
+ unset libstdc++_library_path
return
}
+ lappend lang_library_paths ${libstdc++_library_path}
} elseif { ![info exists GXX_UNDER_TEST] } {
verbose -log "GXX_UNDER_TEST not defined, will not execute c++ tests"
return
@@ -45,7 +46,7 @@ set tests [lsort [concat \
set ld_library_path $always_ld_library_path
if { $blddir != "" } {
- append ld_library_path ":${blddir}/${lang_library_path}"
+ append ld_library_path ":${blddir}/${libstdc++_library_path}"
}
append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
set_ld_library_path_env_vars
@@ -139,7 +140,8 @@ if [info exists lang_include_flags] then {
unset lang_include_flags
}
if { $blddir != "" } {
- unset lang_library_path
+ unset libstdc++_library_path
+ unset lang_library_paths
}
unset lang_link_flags
@@ -5,14 +5,23 @@ load_gcc_lib gcc-dg.exp
load_gcc_lib gfortran-dg.exp
if { $blddir != "" } {
- set lang_library_path "../libgfortran/.libs"
+ set libgfortran_library_path "../libgfortran/.libs"
set shlib_ext [get_shlib_extension]
- if { ![file exists "${blddir}/${lang_library_path}/libgfortran.a"]
- && ![file exists "${blddir}/${lang_library_path}/libgfortran.${shlib_ext}"] } {
+ if { ![file exists "${blddir}/${libgfortran_library_path}/libgfortran.a"]
+ && ![file exists "${blddir}/${libgfortran_library_path}/libgfortran.${shlib_ext}"] } {
verbose -log "No libgfortran library found, will not execute fortran tests"
- unset lang_library_path
+ unset libgfortran_library_path
return
}
+ lappend lang_library_paths $libgfortran_library_path
+
+ set libquadmath_library_path "../libquadmath/.libs"
+ if { [file exists "${blddir}/${libquadmath_library_path}/libquadmath.a"]
+ || [file exists "${blddir}/${libquadmath_library_path}/libquadmath.${shlib_ext}"] } {
+ lappend lang_library_paths $libquadmath_library_path
+ } else {
+ set libquadmath_library_path ""
+ }
} elseif { ![info exists GFORTRAN_UNDER_TEST] } {
verbose -log "GFORTRAN_UNDER_TEST not defined, will not execute fortran tests"
return
@@ -35,18 +44,12 @@ set tests [lsort [find $srcdir/$subdir *.\[fF\]{,90,95,03,08}]]
set ld_library_path $always_ld_library_path
if { $blddir != "" } {
- append ld_library_path ":${blddir}/${lang_library_path}"
-
- set quadmath_library_path "../libquadmath/.libs"
- if { [file exists "${blddir}/${quadmath_library_path}/libquadmath.a"]
- || [file exists "${blddir}/${quadmath_library_path}/libquadmath.${shlib_ext}"] } {
- lappend ALWAYS_CFLAGS "ldflags=-L${blddir}/${quadmath_library_path}/"
- # Allow for spec subsitution.
- lappend ALWAYS_CFLAGS "additional_flags=-B${blddir}/${quadmath_library_path}/"
- append ld_library_path ":${blddir}/${quadmath_library_path}"
+ append ld_library_path ":${blddir}/${libgfortran_library_path}"
+
+ if { $libquadmath_library_path != "" } {
+ append ld_library_path ":${blddir}/${libquadmath_library_path}"
append lang_link_flags " -lquadmath"
}
- unset quadmath_library_path
} else {
if { [check_no_compiler_messages has_libquadmath executable {
int main() {return 0;}
@@ -112,7 +115,9 @@ unset offload_target
if { $blddir != "" } {
unset lang_source_re
unset lang_include_flags
- unset lang_library_path
+ unset libgfortran_library_path
+ unset libquadmath_library_path
+ unset lang_library_paths
}
unset lang_link_flags
--
2.39.2