From b794dc779382bb9e645ccc10b4447d4e411f6000 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge 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(-) diff --git a/libgomp/testsuite/lib/libgomp.exp b/libgomp/testsuite/lib/libgomp.exp index 2295fbbbd417..9fea31d80672 100644 --- a/libgomp/testsuite/lib/libgomp.exp +++ b/libgomp/testsuite/lib/libgomp.exp @@ -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] } { diff --git a/libgomp/testsuite/libgomp.c++/c++.exp b/libgomp/testsuite/libgomp.c++/c++.exp index 8307baf32fcf..1a1c3ee22252 100644 --- a/libgomp/testsuite/libgomp.c++/c++.exp +++ b/libgomp/testsuite/libgomp.c++/c++.exp @@ -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 diff --git a/libgomp/testsuite/libgomp.fortran/fortran.exp b/libgomp/testsuite/libgomp.fortran/fortran.exp index d98739c8c99d..9295bbae65dd 100644 --- a/libgomp/testsuite/libgomp.fortran/fortran.exp +++ b/libgomp/testsuite/libgomp.fortran/fortran.exp @@ -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 diff --git a/libgomp/testsuite/libgomp.oacc-c++/c++.exp b/libgomp/testsuite/libgomp.oacc-c++/c++.exp index 5e4f70493490..63d1d7650a20 100644 --- a/libgomp/testsuite/libgomp.oacc-c++/c++.exp +++ b/libgomp/testsuite/libgomp.oacc-c++/c++.exp @@ -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 diff --git a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp index a590558a1950..af0a4f7ff311 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp +++ b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp @@ -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