aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanis Johnson <janis187@us.ibm.com>2005-10-04 21:45:50 +0000
committerJanis Johnson <janis@gcc.gnu.org>2005-10-04 21:45:50 +0000
commitf6cf6841d0b07efb1eb3a83afa31f8c8c6d8c1a8 (patch)
treeaf81be7901fa0e892adda6e3137f36a215ddfe20 /gcc
parenta04deb83faf6ea6a12a72c39d7b3b3c12c864f8e (diff)
downloadgcc-f6cf6841d0b07efb1eb3a83afa31f8c8c6d8c1a8.zip
gcc-f6cf6841d0b07efb1eb3a83afa31f8c8c6d8c1a8.tar.gz
gcc-f6cf6841d0b07efb1eb3a83afa31f8c8c6d8c1a8.tar.bz2
target-supports.exp (check_effective_target_fortran_large_real, [...]): Replace cached result when target changes.
* lib/target-supports.exp (check_effective_target_fortran_large_real, check_effective_target_fortran_large_int): Replace cached result when target changes. From-SVN: r104959
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/lib/target-supports.exp40
2 files changed, 44 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bc53511..dd5d173 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2005-10-04 Janis Johnson <janis187@us.ibm.com>
+
+ * lib/target-supports.exp (check_effective_target_fortran_large_real,
+ check_effective_target_fortran_large_int): Replace cached result
+ when target changes.
+
2005-10-04 Devang Patel <dpatel@apple.com>
* gcc.dg/i386-sse-vect-types.c: New.
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 6cbbf14..b98e3ce 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -411,12 +411,30 @@ proc check_named_sections_available { } {
}
# Return 1 if the target supports Fortran real kinds larger than real(8),
-# 0 otherwise. Cache the result.
+# 0 otherwise.
+#
+# When the target name changes, replace the cached result.
proc check_effective_target_fortran_large_real { } {
global et_fortran_large_real_saved
+ global et_fortran_large_real_target_name
global tool
+ if { ![info exists et_fortran_large_real_target_name] } {
+ set et_fortran_large_real_target_name ""
+ }
+
+ # If the target has changed since we set the cached value, clear it.
+ set current_target [current_target_name]
+ if { $current_target != $et_fortran_large_real_target_name } {
+ verbose "check_effective_target_fortran_large_real: `$et_fortran_large_real_target_name' `$current_target'" 2
+ set et_fortran_large_real_target_name $current_target
+ if [info exists et_fortran_large_real_saved] {
+ verbose "check_effective_target_fortran_large_real: removing cached result" 2
+ unset et_fortran_large_real_saved
+ }
+ }
+
if [info exists et_fortran_large_real_saved] {
verbose "check_effective_target_fortran_large_real returning saved $et_fortran_large_real_saved" 2
} else {
@@ -449,12 +467,30 @@ proc check_effective_target_fortran_large_real { } {
}
# Return 1 if the target supports Fortran integer kinds larger than
-# integer(8), 0 otherwise. Cache the result.
+# integer(8), 0 otherwise.
+#
+# When the target name changes, replace the cached result.
proc check_effective_target_fortran_large_int { } {
global et_fortran_large_int_saved
+ global et_fortran_large_int_target_name
global tool
+ if { ![info exists et_fortran_large_int_target_name] } {
+ set et_fortran_large_int_target_name ""
+ }
+
+ # If the target has changed since we set the cached value, clear it.
+ set current_target [current_target_name]
+ if { $current_target != $et_fortran_large_int_target_name } {
+ verbose "check_effective_target_fortran_large_int: `$et_fortran_large_int_target_name' `$current_target'" 2
+ set et_fortran_large_int_target_name $current_target
+ if [info exists et_fortran_large_int_saved] {
+ verbose "check_effective_target_fortran_large_int: removing cached result" 2
+ unset et_fortran_large_int_saved
+ }
+ }
+
if [info exists et_fortran_large_int_saved] {
verbose "check_effective_target_fortran_large_int returning saved $et_fortran_large_int_saved" 2
} else {