aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog15
-rw-r--r--gcc/testsuite/g++.dg/compat/compat.exp1
-rw-r--r--gcc/testsuite/g++.dg/compat/struct-layout-1.exp1
-rw-r--r--gcc/testsuite/lib/asan-dg.exp1
-rw-r--r--gcc/testsuite/lib/atomic-dg.exp1
-rw-r--r--gcc/testsuite/lib/cilk-plus-dg.exp1
-rw-r--r--gcc/testsuite/lib/clearcap.exp1
-rw-r--r--gcc/testsuite/lib/mpx-dg.exp1
-rw-r--r--gcc/testsuite/lib/target-supports.exp26
-rw-r--r--gcc/testsuite/lib/tsan-dg.exp1
-rw-r--r--gcc/testsuite/lib/ubsan-dg.exp1
11 files changed, 50 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1e4de51..8c7175f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,18 @@
+2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * lib/target-supports.exp (clear_effective_target_cache): New.
+ (check_cached_effective_target): Update et_prop_list.
+ * lib/asan-dg.exp (asan_finish): Call clear_effective_target_cache.
+ * g++.dg/compat/compat.exp: Likewise.
+ * g++.dg/compat/struct-layout-1.exp: Likewise.
+ * lib/asan-dg.exp: Likewise.
+ * lib/atomic-dg.exp: Likewise.
+ * lib/cilk-plus-dg.exp: Likewise.
+ * lib/clearcap.exp: Likewise.
+ * lib/mpx-dg.exp: Likewise.
+ * lib/tsan-dg.exp: Likewise.
+ * lib/ubsan-dg.exp: Likewise.
+
2015-09-01 Kenneth Zadeck <zadeck@naturalbridge.com>
* gcc.c-torture/execute/ieee/20000320-1.c Fixed misplaced test case.
diff --git a/gcc/testsuite/g++.dg/compat/compat.exp b/gcc/testsuite/g++.dg/compat/compat.exp
index 1272289..4c4b25f 100644
--- a/gcc/testsuite/g++.dg/compat/compat.exp
+++ b/gcc/testsuite/g++.dg/compat/compat.exp
@@ -78,6 +78,7 @@ proc compat-use-tst-compiler { } {
set ALWAYS_CXXFLAGS $save_always_cxxflags
set ld_library_path $save_ld_library_path
set_ld_library_path_env_vars
+ clear_effective_target_cache
}
}
diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
index 7777d98..097a731 100644
--- a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
+++ b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp
@@ -61,6 +61,7 @@ proc compat-use-alt-compiler { } {
set ld_library_path $alt_ld_library_path
set_ld_library_path_env_vars
restore_gcc_exec_prefix_env_var
+ clear_effective_target_cache
}
}
diff --git a/gcc/testsuite/lib/asan-dg.exp b/gcc/testsuite/lib/asan-dg.exp
index 141a479..3ce264e 100644
--- a/gcc/testsuite/lib/asan-dg.exp
+++ b/gcc/testsuite/lib/asan-dg.exp
@@ -138,6 +138,7 @@ proc asan_finish { args } {
}
set ld_library_path $asan_saved_library_path
set_ld_library_path_env_vars
+ clear_effective_target_cache
}
# Symbolize lines like
diff --git a/gcc/testsuite/lib/atomic-dg.exp b/gcc/testsuite/lib/atomic-dg.exp
index d9df227..fe24127 100644
--- a/gcc/testsuite/lib/atomic-dg.exp
+++ b/gcc/testsuite/lib/atomic-dg.exp
@@ -101,4 +101,5 @@ proc atomic_finish { args } {
} else {
unset TEST_ALWAYS_FLAGS
}
+ clear_effective_target_cache
}
diff --git a/gcc/testsuite/lib/cilk-plus-dg.exp b/gcc/testsuite/lib/cilk-plus-dg.exp
index 38e5400..7f38f37 100644
--- a/gcc/testsuite/lib/cilk-plus-dg.exp
+++ b/gcc/testsuite/lib/cilk-plus-dg.exp
@@ -101,4 +101,5 @@ proc cilkplus_finish { args } {
} else {
unset TEST_ALWAYS_FLAGS
}
+ clear_effective_target_cache
}
diff --git a/gcc/testsuite/lib/clearcap.exp b/gcc/testsuite/lib/clearcap.exp
index d41aa1e..3e2a88c 100644
--- a/gcc/testsuite/lib/clearcap.exp
+++ b/gcc/testsuite/lib/clearcap.exp
@@ -55,4 +55,5 @@ proc clearcap-finish { args } {
} else {
unset TEST_ALWAYS_FLAGS
}
+ clear_effective_target_cache
}
diff --git a/gcc/testsuite/lib/mpx-dg.exp b/gcc/testsuite/lib/mpx-dg.exp
index c8f64cd..b2bd40c 100644
--- a/gcc/testsuite/lib/mpx-dg.exp
+++ b/gcc/testsuite/lib/mpx-dg.exp
@@ -142,4 +142,5 @@ proc mpx_finish { args } {
}
set ld_library_path $mpx_saved_library_path
set_ld_library_path_env_vars
+ clear_effective_target_cache
}
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 363f7fe..3f54729 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -117,6 +117,7 @@ proc current_target_name { } {
proc check_cached_effective_target { prop args } {
global et_cache
+ global et_prop_list
set target [current_target_name]
if {![info exists et_cache($prop,target)]
@@ -124,12 +125,37 @@ proc check_cached_effective_target { prop args } {
verbose "check_cached_effective_target $prop: checking $target" 2
set et_cache($prop,target) $target
set et_cache($prop,value) [uplevel eval $args]
+ lappend et_prop_list $prop
+ verbose "check_cached_effective_target cached list is now: $et_prop_list" 2
}
set value $et_cache($prop,value)
verbose "check_cached_effective_target $prop: returning $value for $target" 2
return $value
}
+# Clear effective-target cache. This is useful after testing
+# effective-target features and overriding TEST_ALWAYS_FLAGS and/or
+# ALWAYS_CXXFLAGS.
+# If one changes ALWAYS_CXXFLAGS or TEST_ALWAYS_FLAGS then they should
+# do a clear_effective_target_cache at the end as the target cache can
+# make decisions based upon the flags, and those decisions need to be
+# redone when the flags change. An example of this is the
+# asan_init/asan_finish pair.
+
+proc clear_effective_target_cache { } {
+ global et_cache
+ global et_prop_list
+
+ if {[info exists et_prop_list]} {
+ verbose "clear_effective_target_cache: $et_prop_list" 2
+ foreach prop $et_prop_list {
+ unset et_cache($prop,value)
+ unset et_cache($prop,target)
+ }
+ unset et_prop_list
+ }
+}
+
# Like check_compile, but delete the output file and return true if the
# compiler printed no messages.
proc check_no_compiler_messages_nocache {args} {
diff --git a/gcc/testsuite/lib/tsan-dg.exp b/gcc/testsuite/lib/tsan-dg.exp
index eb528f8..ff51fdf 100644
--- a/gcc/testsuite/lib/tsan-dg.exp
+++ b/gcc/testsuite/lib/tsan-dg.exp
@@ -149,4 +149,5 @@ proc tsan_finish { args } {
}
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 81934bb..65799db 100644
--- a/gcc/testsuite/lib/ubsan-dg.exp
+++ b/gcc/testsuite/lib/ubsan-dg.exp
@@ -121,4 +121,5 @@ proc ubsan_finish { args } {
}
set ld_library_path $ubsan_saved_library_path
set_ld_library_path_env_vars
+ clear_effective_target_cache
}