Thomas Schwinge and Joseph convinced me that 'rootme' only makes sense
for in-tree testing and, hence, does not need (or: should not) be set in
site.exp.

Thus, if it is not set, we have to check its existence before using it –
to avoid similar TCL errors.
Hence, I updated the patch to check also for 'rootme'.

OK?

Tobias

On 10/19/20 11:46 AM, Tobias Burnus wrote:
In a --disable-libsanitizer build, I see errors such as:
  g++.sum:ERROR: can't read "asan_saved_library_path": no such variable

I believe the following patch is the right way to solve this.
OK?

Tobias

-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander 
Walter
testsuite: Avoid TCL errors when rootme or ASAN/TSAN/UBSAN is not avail

	* g++.dg/guality/guality.exp:
	* gcc.dg/guality/guality.exp:
	* gfortran.dg/guality/guality.exp:
	* lib/asan-dg.exp:
	* lib/tsan-dg.exp:
	* lib/ubsan-dg.exp:

 gcc/testsuite/g++.dg/guality/guality.exp      | 2 +-
 gcc/testsuite/gcc.dg/guality/guality.exp      | 2 +-
 gcc/testsuite/gfortran.dg/guality/guality.exp | 2 +-
 gcc/testsuite/lib/asan-dg.exp                 | 6 ++++--
 gcc/testsuite/lib/tsan-dg.exp                 | 6 ++++--
 gcc/testsuite/lib/ubsan-dg.exp                | 6 ++++--
 6 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/gcc/testsuite/g++.dg/guality/guality.exp b/gcc/testsuite/g++.dg/guality/guality.exp
index 33571f1f28f..1d5b65fef57 100644
--- a/gcc/testsuite/g++.dg/guality/guality.exp
+++ b/gcc/testsuite/g++.dg/guality/guality.exp
@@ -38,7 +38,7 @@ global GDB
 if ![info exists ::env(GUALITY_GDB_NAME)] {
     if [info exists GDB] {
 	set guality_gdb_name "$GDB"
-    } elseif [file exists $rootme/../gdb/gdb] {
+    } elseif { [info exists rootme] && [file exists $rootme/../gdb/gdb] } {
 	# If we're doing a combined build, and gdb is available, use it.
 	set guality_gdb_name "$rootme/../gdb/gdb"
     } else {
diff --git a/gcc/testsuite/gcc.dg/guality/guality.exp b/gcc/testsuite/gcc.dg/guality/guality.exp
index 89cd896d05c..ba87132aef2 100644
--- a/gcc/testsuite/gcc.dg/guality/guality.exp
+++ b/gcc/testsuite/gcc.dg/guality/guality.exp
@@ -38,7 +38,7 @@ global GDB
 if ![info exists ::env(GUALITY_GDB_NAME)] {
     if [info exists GDB] {
 	set guality_gdb_name "$GDB"
-    } elseif [file exists $rootme/../gdb/gdb] {
+    } elseif { [info exists rootme] && [file exists $rootme/../gdb/gdb] } {
 	# If we're doing a combined build, and gdb is available, use it.
 	set guality_gdb_name "$rootme/../gdb/gdb"
     } else {
diff --git a/gcc/testsuite/gfortran.dg/guality/guality.exp b/gcc/testsuite/gfortran.dg/guality/guality.exp
index eaa7ae770d6..0375edfffe4 100644
--- a/gcc/testsuite/gfortran.dg/guality/guality.exp
+++ b/gcc/testsuite/gfortran.dg/guality/guality.exp
@@ -19,7 +19,7 @@ global GDB
 if ![info exists ::env(GUALITY_GDB_NAME)] {
     if [info exists GDB] {
 	set guality_gdb_name "$GDB"
-    } elseif [file exists $rootme/../gdb/gdb] {
+    } elseif { [info exists rootme] && [file exists $rootme/../gdb/gdb] } {
 	# If we're doing a combined build, and gdb is available, use it.
 	set guality_gdb_name "$rootme/../gdb/gdb"
     } else {
diff --git a/gcc/testsuite/lib/asan-dg.exp b/gcc/testsuite/lib/asan-dg.exp
index 2124607245e..ce745dfdf8d 100644
--- a/gcc/testsuite/lib/asan-dg.exp
+++ b/gcc/testsuite/lib/asan-dg.exp
@@ -151,8 +151,10 @@ proc asan_finish { args } {
 	    unset TEST_ALWAYS_FLAGS
 	}
     }
-    set ld_library_path $asan_saved_library_path
-    set_ld_library_path_env_vars
+    if [info exists asan_saved_library_path ] {
+	set ld_library_path $asan_saved_library_path
+	set_ld_library_path_env_vars
+    }
     clear_effective_target_cache
 }
 
diff --git a/gcc/testsuite/lib/tsan-dg.exp b/gcc/testsuite/lib/tsan-dg.exp
index b5631a79bcf..6dcfd0a2f83 100644
--- a/gcc/testsuite/lib/tsan-dg.exp
+++ b/gcc/testsuite/lib/tsan-dg.exp
@@ -150,7 +150,9 @@ proc tsan_finish { args } {
     } else {
 	unset dg-do-what-default
     }
-    set ld_library_path $tsan_saved_library_path
-    set_ld_library_path_env_vars
+    if [info exists tsan_saved_library_path ] {
+	set ld_library_path $tsan_saved_library_path
+	set_ld_library_path_env_vars
+    }
     clear_effective_target_cache
 }
diff --git a/gcc/testsuite/lib/ubsan-dg.exp b/gcc/testsuite/lib/ubsan-dg.exp
index f4ab29e2add..31740e02ab4 100644
--- a/gcc/testsuite/lib/ubsan-dg.exp
+++ b/gcc/testsuite/lib/ubsan-dg.exp
@@ -141,7 +141,9 @@ proc ubsan_finish { args } {
 	    unset TEST_ALWAYS_FLAGS
 	}
     }
-    set ld_library_path $ubsan_saved_library_path
-    set_ld_library_path_env_vars
+    if [info exists ubsan_saved_library_path ] {
+	set ld_library_path $ubsan_saved_library_path
+	set_ld_library_path_env_vars
+    }
     clear_effective_target_cache
 }

Reply via email to