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.

Reply via email to