libstdc++.exp (check_v3_target_cxa_atexit): Move to gcc subdir.
* testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Move to gcc subdir. * testsuite/lib/dg-options.exp (dg-require-iconv): Remove. (dg-require-cxa-atexit): Move to gcc subdir. From-SVN: r113685
This commit is contained in:
parent
21f638b9b0
commit
403ac6aca3
3 changed files with 7 additions and 103 deletions
|
@ -1,3 +1,10 @@
|
|||
2006-05-10 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit):
|
||||
Move to gcc subdir.
|
||||
* testsuite/lib/dg-options.exp (dg-require-iconv): Remove.
|
||||
(dg-require-cxa-atexit): Move to gcc subdir.
|
||||
|
||||
2006-05-10 Paolo Carlini <pcarlini@suse.de>
|
||||
Peter Doerfler <gcc@pdoerfler.com>
|
||||
|
||||
|
|
|
@ -17,16 +17,6 @@
|
|||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
|
||||
# Copied from GCC.
|
||||
proc dg-require-iconv { args } {
|
||||
if { ![ check_iconv_available ${args} ] } {
|
||||
upvar dg-do-what dg-do-what
|
||||
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
proc dg-require-namedlocale { args } {
|
||||
if { ![ check_v3_target_namedlocale ] } {
|
||||
upvar dg-do-what dg-do-what
|
||||
|
@ -36,15 +26,6 @@ proc dg-require-namedlocale { args } {
|
|||
return
|
||||
}
|
||||
|
||||
proc dg-require-cxa-atexit { args } {
|
||||
if { ![ check_v3_target_cxa_atexit ] } {
|
||||
upvar dg-do-what dg-do-what
|
||||
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
proc dg-require-sharedlib { args } {
|
||||
if { ![ check_v3_target_sharedlib ] } {
|
||||
upvar dg-do-what dg-do-what
|
||||
|
|
|
@ -529,90 +529,6 @@ proc check_v3_target_namedlocale { } {
|
|||
return $et_namedlocale_saved
|
||||
}
|
||||
|
||||
proc check_v3_target_cxa_atexit { } {
|
||||
global et_cxa_atexit
|
||||
global et_cxa_atexit_target_name
|
||||
global tool
|
||||
|
||||
if { ![info exists et_cxa_atexit_target_name] } {
|
||||
set et_cxa_atexit_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_cxa_atexit_target_name } {
|
||||
verbose "check_v3_target_cxa_atexit: `$et_cxa_atexit_target_name'" 2
|
||||
set et_cxa_atexit_target_name $current_target
|
||||
if [info exists et_cxa_atexit] {
|
||||
verbose "check_v3_target_cxa_atexit: removing cached result" 2
|
||||
unset et_cxa_atexit
|
||||
}
|
||||
}
|
||||
|
||||
if [info exists et_cxa_atexit] {
|
||||
verbose "check_v3_target_cxa_atexit: using cached result" 2
|
||||
} else {
|
||||
set et_cxa_atexit 0
|
||||
|
||||
# Set up, compile, and execute a C++ test program that depends
|
||||
# on correct ordering of static object destructors. This is
|
||||
# indicative of the presence and use of __cxa_atexit.
|
||||
set src cxaatexit[pid].cc
|
||||
set exe cxaatexit[pid].x
|
||||
|
||||
set f [open $src "w"]
|
||||
puts $f "#include <stdlib.h>"
|
||||
puts $f "static unsigned int count;"
|
||||
puts $f "struct X"
|
||||
puts $f "{"
|
||||
puts $f " X() { count = 1; }"
|
||||
puts $f " ~X()"
|
||||
puts $f " {"
|
||||
puts $f " if (count != 3)"
|
||||
puts $f " exit(1);"
|
||||
puts $f " count = 4;"
|
||||
puts $f " }"
|
||||
puts $f "};"
|
||||
puts $f "void f()"
|
||||
puts $f "{"
|
||||
puts $f " static X x;"
|
||||
puts $f "}"
|
||||
puts $f "struct Y"
|
||||
puts $f "{"
|
||||
puts $f " Y() { f(); count = 2; }"
|
||||
puts $f " ~Y()"
|
||||
puts $f " {"
|
||||
puts $f " if (count != 2)"
|
||||
puts $f " exit(1);"
|
||||
puts $f " count = 3;"
|
||||
puts $f " }"
|
||||
puts $f "};"
|
||||
puts $f "Y y;"
|
||||
puts $f "int main()"
|
||||
puts $f "{ return 0; }"
|
||||
close $f
|
||||
|
||||
set lines [v3_target_compile $src $exe executable ""]
|
||||
file delete $src
|
||||
|
||||
if [string match "" $lines] {
|
||||
# No error message, compilation succeeded.
|
||||
set result [${tool}_load "./$exe" "" ""]
|
||||
set status [lindex $result 0]
|
||||
remote_file build delete $exe
|
||||
|
||||
verbose "check_v3_target_cxa_atexit: status is <$status>" 2
|
||||
|
||||
if { $status == "pass" } {
|
||||
set et_cxa_atexit 1
|
||||
}
|
||||
} else {
|
||||
verbose "check_v3_target_cxa_atexit: compilation failed" 2
|
||||
}
|
||||
}
|
||||
return $et_cxa_atexit
|
||||
}
|
||||
|
||||
proc check_v3_target_debug_mode { } {
|
||||
global cxxflags
|
||||
global et_debug_mode
|
||||
|
|
Loading…
Add table
Reference in a new issue