As noted in PR 23867, the libstdc++ ABI testsuite doesn't work for
installed compiler testing. There is some logic in abi.exp to check for
the presence of the required bits and skip these tests if they're not
there, but before it gets that far it's hitting a TCL error:
ERROR: can't read "baseline_subdir_switch": no such variable
while executing
"eval exec $cxx $baseline_subdir_switch"
invoked from within
"set baseline_subdir "[eval exec $cxx $baseline_subdir_switch]""
...
This patch moves the offending reference to $baseline_subdir_switch
after the check for missing bits instead of before. OK to commit?
-Sandra
2014-05-16 Iain Sandoe <i...@codesourcery.com>
Sandra Loosemore <san...@codesourcery.com>
libstdc++-v3/
* testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
until after checking that the test is eligible to be run.
Index: libstdc++-v3/testsuite/libstdc++-abi/abi.exp
===================================================================
--- libstdc++-v3/testsuite/libstdc++-abi/abi.exp (revision 210372)
+++ libstdc++-v3/testsuite/libstdc++-abi/abi.exp (working copy)
@@ -24,8 +24,6 @@ if { [string match "*-*-darwin*" $target
set lib $blddir/src/.libs/libstdc++.so
}
-set baseline_subdir "[eval exec $cxx $baseline_subdir_switch]"
-
# Build the support objects.
v3-build_support
@@ -35,6 +33,8 @@ if { (${v3-symver} == 0) || ![info exist
return
}
+set baseline_subdir "[eval exec $cxx $baseline_subdir_switch]"
+
set baseline_file \
[file join $baseline_dir $baseline_subdir "baseline_symbols.txt"]
# If there is no ABI-specific reference file use that of the default ABI.