file-format.exp (gcc_target_object_format): Use remote_exec to call objdump.
gcc/testsuite: * lib/file-format.exp (gcc_target_object_format): Use remote_exec to call objdump. * lib/scanasm.exp (scan-assembler-dem, scan-assembler-dem-not): Use remote_exec to call c++filt. * lib/target-supports-dg.exp (dg-require-host-local): New. * gcc.misc-tests/options.exp: Allow .exe in command paths. * g++.dg/parse/repo1.C: Use dg-require-host-local. * g++.dg/rtti/repo1.C: Likewise. * g++.dg/template/repo1.C: Likewise. * g++.dg/template/repo2.C: Likewise. * g++.dg/template/repo3.C: Likewise. * g++.dg/template/repo4.C: Likewise. * g++.dg/template/repo5.C: Likewise. * g++.old-deja/g++.pt/instantiate4.C: Likewise. * g++.old-deja/g++.pt/instantiate6.C: Likewise. * g++.old-deja/g++.pt/repo1.C: Likewise. * g++.old-deja/g++.pt/repo2.C: Likewise. * g++.old-deja/g++.pt/repo3.C: Likewise. * g++.old-deja/g++.pt/repo4.C: Likewise. * gcc.dg/cpp/trad/builtins.c: Likewise. libstdc++-v3: * testsuite/lib/libstdc++.exp (v3-build-support): Specify output file for preprocessing. Use remote_exec to call ar and ranlib. From-SVN: r128283
This commit is contained in:
parent
37da0c95d4
commit
7cff41e891
21 changed files with 75 additions and 20 deletions
|
@ -1,3 +1,26 @@
|
|||
2007-09-09 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* lib/file-format.exp (gcc_target_object_format): Use remote_exec
|
||||
to call objdump.
|
||||
* lib/scanasm.exp (scan-assembler-dem, scan-assembler-dem-not):
|
||||
Use remote_exec to call c++filt.
|
||||
* lib/target-supports-dg.exp (dg-require-host-local): New.
|
||||
* gcc.misc-tests/options.exp: Allow .exe in command paths.
|
||||
* g++.dg/parse/repo1.C: Use dg-require-host-local.
|
||||
* g++.dg/rtti/repo1.C: Likewise.
|
||||
* g++.dg/template/repo1.C: Likewise.
|
||||
* g++.dg/template/repo2.C: Likewise.
|
||||
* g++.dg/template/repo3.C: Likewise.
|
||||
* g++.dg/template/repo4.C: Likewise.
|
||||
* g++.dg/template/repo5.C: Likewise.
|
||||
* g++.old-deja/g++.pt/instantiate4.C: Likewise.
|
||||
* g++.old-deja/g++.pt/instantiate6.C: Likewise.
|
||||
* g++.old-deja/g++.pt/repo1.C: Likewise.
|
||||
* g++.old-deja/g++.pt/repo2.C: Likewise.
|
||||
* g++.old-deja/g++.pt/repo3.C: Likewise.
|
||||
* g++.old-deja/g++.pt/repo4.C: Likewise.
|
||||
* gcc.dg/cpp/trad/builtins.c: Likewise.
|
||||
|
||||
2007-09-08 Zdenek Dvorak <ook@ucw.cz>
|
||||
|
||||
PR tree-optimization/32283
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// { dg-options "-frepo" }
|
||||
// { dg-require-host-local "" }
|
||||
|
||||
extern "C" inline void f() {}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// PR c++/22204
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-require-host-local "" }
|
||||
|
||||
#include <typeinfo>
|
||||
template<int>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// { dg-options "-frepo" }
|
||||
// { dg-require-host-local "" }
|
||||
|
||||
struct A {
|
||||
A();
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// PR c++/17163
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-require-host-local "" }
|
||||
|
||||
template <int __inst>
|
||||
struct __Atomicity_lock
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// { dg-options "-frepo -DF='a'" }
|
||||
// { dg-require-host-local "" }
|
||||
|
||||
template <typename A, typename B> void f () {}
|
||||
template <typename A, typename B> void g () { f<int,int>(); }
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// PR c++/17775
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-final { cleanup-repo-files } }
|
||||
// { dg-require-host-local "" }
|
||||
|
||||
namespace {
|
||||
struct Foo {};
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// PR c++/25625
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-final { cleanup-repo-files } }
|
||||
// { dg-require-host-local "" }
|
||||
|
||||
template< typename T, T N > struct integral_c {
|
||||
static const T value = N;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// { dg-do link }
|
||||
// { dg-options "-frepo -Werror" }
|
||||
// { dg-require-host-local "" }
|
||||
// Build then link:
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// { dg-do link }
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-require-host-local "" }
|
||||
// Build then link:
|
||||
|
||||
// Simplified from testcase by Erez Louidor Lior <s3824888@techst02.technion.ac.il>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// { dg-do link }
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-require-host-local "" }
|
||||
|
||||
// Bug: g++ complains about duplicate explicit instantiations with -frepo.
|
||||
// From Jason Merrill <jason@cygnus.com>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// { dg-do link }
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-require-host-local "" }
|
||||
// Test that collect2 isn't confused by GNU ld's "In function `foo':" message.
|
||||
// Contributed by Jason Merrill <jason@cygnus.com>
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// { dg-do link }
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-require-host-local "" }
|
||||
// Test that we properly generate the vtable and such for C.
|
||||
// Contributed by scott snyder <snyder@fnal.gov>
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// { dg-do link }
|
||||
// { dg-options "-frepo" }
|
||||
// { dg-require-host-local "" }
|
||||
// Build then link:
|
||||
|
||||
template <class T>
|
||||
|
|
|
@ -50,3 +50,5 @@ int main ()
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* { dg-require-host-local "" } */
|
||||
|
|
|
@ -36,15 +36,15 @@ proc check_for_options {language gcc_options compiler_pattern as_pattern ld_patt
|
|||
set gcc_output [gcc_target_compile $filename.c $filename.x executable $gcc_options]
|
||||
remote_file build delete $filename.c $filename.x $filename.gcno
|
||||
|
||||
if {![regexp -- "/$compiler -quiet.*$compiler_pattern" $gcc_output]} {
|
||||
if {![regexp -- "/${compiler}(\\.exe)? -quiet.*$compiler_pattern" $gcc_output]} {
|
||||
fail "$test (compiler options)"
|
||||
return
|
||||
}
|
||||
if {![regexp -- " *as .*$as_pattern" $gcc_output]} {
|
||||
if {![regexp -- " *as(\\.exe)? .*$as_pattern" $gcc_output]} {
|
||||
fail "$test (assembler options)"
|
||||
return
|
||||
}
|
||||
if {![regexp -- "/collect2 .*$ld_pattern" $gcc_output]} {
|
||||
if {![regexp -- "/collect2(\\.exe)? .*$ld_pattern" $gcc_output]} {
|
||||
fail "$test (linker options)"
|
||||
return
|
||||
}
|
||||
|
|
|
@ -48,9 +48,8 @@ proc gcc_target_object_format { } {
|
|||
${tool}_target_compile objfmtst.c objfmtst.o object ""
|
||||
file delete objfmtst.c
|
||||
|
||||
catch {
|
||||
set output [exec $objdump_name --file-headers objfmtst.o ]
|
||||
} output
|
||||
set output [remote_exec host "$objdump_name" "--file-headers objfmtst.o"]
|
||||
set output [lindex $output 1]
|
||||
|
||||
file delete objfmtst.o
|
||||
|
||||
|
|
|
@ -217,9 +217,8 @@ proc scan-assembler-dem { args } {
|
|||
upvar 2 name testcase
|
||||
set output_file "[file rootname [file tail $testcase]].s"
|
||||
|
||||
set fd [open "| $cxxfilt < $output_file" r]
|
||||
set text [read $fd]
|
||||
close $fd
|
||||
set output [remote_exec host "$cxxfilt" "" "$output_file"]
|
||||
set text [lindex $output 1]
|
||||
|
||||
if [regexp -- [lindex $args 0] $text] {
|
||||
pass "$testcase scan-assembler-dem [lindex $args 0]"
|
||||
|
@ -263,9 +262,8 @@ proc scan-assembler-dem-not { args } {
|
|||
upvar 2 name testcase
|
||||
set output_file "[file rootname [file tail $testcase]].s"
|
||||
|
||||
set fd [open "| $cxxfilt < $output_file" r]
|
||||
set text [read $fd]
|
||||
close $fd
|
||||
set output [remote_exec host "$cxxfilt" "" "$output_file"]
|
||||
set text [lindex $output 1]
|
||||
|
||||
if ![regexp -- [lindex $args 0] $text] {
|
||||
pass "$testcase scan-assembler-dem-not [lindex $args 0]"
|
||||
|
|
|
@ -150,6 +150,18 @@ proc dg-require-cxa-atexit { args } {
|
|||
}
|
||||
}
|
||||
|
||||
# If the host is remote rather than the same as the build system, skip
|
||||
# this test. Some tests are incompatible with DejaGnu's handling of
|
||||
# remote hosts, which involves copying the source file to the host and
|
||||
# compiling it with a relative path and "-o a.out".
|
||||
|
||||
proc dg-require-host-local { args } {
|
||||
if [ is_remote host ] {
|
||||
upvar dg-do-what dg-do-what
|
||||
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
||||
}
|
||||
}
|
||||
|
||||
# Check the flags with which the test will be run against options in
|
||||
# a test directive that will skip or xfail that test. The DejaGnu proc
|
||||
# check_conditional_xfail will look at the options in compiler_flags, so
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2007-09-09 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* testsuite/lib/libstdc++.exp (v3-build-support): Specify output
|
||||
file for preprocessing. Use remote_exec to call ar and ranlib.
|
||||
|
||||
2007-09-08 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* include/bits/functional_hash.h: Add ext/numeric_traits.h.
|
||||
|
|
|
@ -452,12 +452,15 @@ proc v3-build_support { } {
|
|||
set libtest_objs ""
|
||||
|
||||
set config_src "config.cc"
|
||||
set config_out "config.ii"
|
||||
set f [open $config_src "w"]
|
||||
puts $f "#include <bits/c++config.h>"
|
||||
puts $f "#include <bits/gthr.h>"
|
||||
close $f
|
||||
set preprocessed [v3_target_compile $config_src "" \
|
||||
preprocess "additional_flags=-dN"]
|
||||
v3_target_compile $config_src $config_out preprocess "additional_flags=-dN"
|
||||
set file [open $config_out r]
|
||||
set preprocessed [read $file]
|
||||
close $file
|
||||
if { [string first "_GLIBCXX_USE_WCHAR_T" $preprocessed] != -1 } {
|
||||
verbose -log "wchar_t support detected"
|
||||
set v3-wchar_t 1
|
||||
|
@ -509,9 +512,9 @@ proc v3-build_support { } {
|
|||
} else {
|
||||
set ar [transform "ar"]
|
||||
}
|
||||
set arcommand "$ar -rc ./libtestc++.a ${libtest_objs}"
|
||||
verbose -log "$arcommand"
|
||||
set result [lindex [local_exec "$arcommand" "" "" 300] 0]
|
||||
set arargs "-rc ./libtestc++.a ${libtest_objs}"
|
||||
verbose -log "$ar $arargs"
|
||||
set result [lindex [remote_exec host "$ar" "$arargs"] 0]
|
||||
verbose "link result is $result"
|
||||
if { $result == 0 } {
|
||||
if [info exists env(RANLIB)] {
|
||||
|
@ -519,9 +522,9 @@ proc v3-build_support { } {
|
|||
} else {
|
||||
set ranlib [transform "ranlib"]
|
||||
}
|
||||
set ranlibcommand "$ranlib ./libtestc++.a"
|
||||
verbose -log "$ranlibcommand"
|
||||
set result [lindex [local_exec "$ranlibcommand" "" "" 300] 0]
|
||||
set ranlibargs "./libtestc++.a"
|
||||
verbose -log "$ranlib $ranlibargs"
|
||||
set result [lindex [remote_exec host "$ranlib" "$ranlibargs"] 0]
|
||||
if { $result != 0 } {
|
||||
error "could not link libtestc++.a"
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue