diff options
author | Janis Johnson <janis187@us.ibm.com> | 2005-10-04 21:45:50 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2005-10-04 21:45:50 +0000 |
commit | f6cf6841d0b07efb1eb3a83afa31f8c8c6d8c1a8 (patch) | |
tree | af81be7901fa0e892adda6e3137f36a215ddfe20 /gcc | |
parent | a04deb83faf6ea6a12a72c39d7b3b3c12c864f8e (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 40 |
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 { |