summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-09 01:10:17 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2007-09-09 01:10:17 +0000
commitd560552f9dfe48f3337cbedd700bca0af2e4af83 (patch)
treedb72951219f2be67e80dccf6ba1f940d1a3c9dc8
parente5c4a8d47f2f49ef3b1f0dad6fb68265543bced9 (diff)
downloadgcc-d560552f9dfe48f3337cbedd700bca0af2e4af83.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128283 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/ChangeLog23
-rw-r--r--gcc/testsuite/g++.dg/parse/repo1.C1
-rw-r--r--gcc/testsuite/g++.dg/rtti/repo1.C1
-rw-r--r--gcc/testsuite/g++.dg/template/repo1.C1
-rw-r--r--gcc/testsuite/g++.dg/template/repo2.C1
-rw-r--r--gcc/testsuite/g++.dg/template/repo3.C1
-rw-r--r--gcc/testsuite/g++.dg/template/repo4.C1
-rw-r--r--gcc/testsuite/g++.dg/template/repo5.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/repo1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/repo2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/repo3.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/repo4.C1
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/builtins.c2
-rw-r--r--gcc/testsuite/gcc.misc-tests/options.exp6
-rw-r--r--gcc/testsuite/lib/file-format.exp5
-rw-r--r--gcc/testsuite/lib/scanasm.exp10
-rw-r--r--gcc/testsuite/lib/target-supports-dg.exp12
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++.exp19
21 files changed, 75 insertions, 20 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b29fc791803..06d1e728f1f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/g++.dg/parse/repo1.C b/gcc/testsuite/g++.dg/parse/repo1.C
index 44f004b8395..efadd58723e 100644
--- a/gcc/testsuite/g++.dg/parse/repo1.C
+++ b/gcc/testsuite/g++.dg/parse/repo1.C
@@ -1,4 +1,5 @@
// { dg-options "-frepo" }
+// { dg-require-host-local "" }
extern "C" inline void f() {}
diff --git a/gcc/testsuite/g++.dg/rtti/repo1.C b/gcc/testsuite/g++.dg/rtti/repo1.C
index 54b52b397aa..7ff813bcdfe 100644
--- a/gcc/testsuite/g++.dg/rtti/repo1.C
+++ b/gcc/testsuite/g++.dg/rtti/repo1.C
@@ -1,5 +1,6 @@
// PR c++/22204
// { dg-options "-frepo" }
+// { dg-require-host-local "" }
#include <typeinfo>
template<int>
diff --git a/gcc/testsuite/g++.dg/template/repo1.C b/gcc/testsuite/g++.dg/template/repo1.C
index 08eea8883dd..cb4c5a1eb24 100644
--- a/gcc/testsuite/g++.dg/template/repo1.C
+++ b/gcc/testsuite/g++.dg/template/repo1.C
@@ -1,4 +1,5 @@
// { dg-options "-frepo" }
+// { dg-require-host-local "" }
struct A {
A();
diff --git a/gcc/testsuite/g++.dg/template/repo2.C b/gcc/testsuite/g++.dg/template/repo2.C
index d2e08013811..3618997dc2a 100644
--- a/gcc/testsuite/g++.dg/template/repo2.C
+++ b/gcc/testsuite/g++.dg/template/repo2.C
@@ -1,5 +1,6 @@
// PR c++/17163
// { dg-options "-frepo" }
+// { dg-require-host-local "" }
template <int __inst>
struct __Atomicity_lock
diff --git a/gcc/testsuite/g++.dg/template/repo3.C b/gcc/testsuite/g++.dg/template/repo3.C
index dfc085a211b..49a8fa5bfe4 100644
--- a/gcc/testsuite/g++.dg/template/repo3.C
+++ b/gcc/testsuite/g++.dg/template/repo3.C
@@ -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>(); }
diff --git a/gcc/testsuite/g++.dg/template/repo4.C b/gcc/testsuite/g++.dg/template/repo4.C
index bd07f9580f9..27714b5f115 100644
--- a/gcc/testsuite/g++.dg/template/repo4.C
+++ b/gcc/testsuite/g++.dg/template/repo4.C
@@ -1,6 +1,7 @@
// PR c++/17775
// { dg-options "-frepo" }
// { dg-final { cleanup-repo-files } }
+// { dg-require-host-local "" }
namespace {
struct Foo {};
diff --git a/gcc/testsuite/g++.dg/template/repo5.C b/gcc/testsuite/g++.dg/template/repo5.C
index 334b0a53ce0..0d2893eee91 100644
--- a/gcc/testsuite/g++.dg/template/repo5.C
+++ b/gcc/testsuite/g++.dg/template/repo5.C
@@ -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;
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C
index 031b6badf7f..9c1aaf58f3e 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C
@@ -1,5 +1,6 @@
// { dg-do link }
// { dg-options "-frepo -Werror" }
+// { dg-require-host-local "" }
// Build then link:
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C b/gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C
index beccdc253fe..a1223fc5d85 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C
@@ -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>
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/repo1.C b/gcc/testsuite/g++.old-deja/g++.pt/repo1.C
index c04b69e1034..f3fdddc7f52 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/repo1.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/repo1.C
@@ -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>
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/repo2.C b/gcc/testsuite/g++.old-deja/g++.pt/repo2.C
index c05fa108136..b40961c1558 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/repo2.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/repo2.C
@@ -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>
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/repo3.C b/gcc/testsuite/g++.old-deja/g++.pt/repo3.C
index 9b218fcb206..7995030fe03 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/repo3.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/repo3.C
@@ -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>
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/repo4.C b/gcc/testsuite/g++.old-deja/g++.pt/repo4.C
index d1a2d70d950..6a0a55aba55 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/repo4.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/repo4.C
@@ -1,5 +1,6 @@
// { dg-do link }
// { dg-options "-frepo" }
+// { dg-require-host-local "" }
// Build then link:
template <class T>
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/builtins.c b/gcc/testsuite/gcc.dg/cpp/trad/builtins.c
index df2718983a1..74798bbb47f 100644
--- a/gcc/testsuite/gcc.dg/cpp/trad/builtins.c
+++ b/gcc/testsuite/gcc.dg/cpp/trad/builtins.c
@@ -50,3 +50,5 @@ int main ()
return 0;
}
+
+/* { dg-require-host-local "" } */
diff --git a/gcc/testsuite/gcc.misc-tests/options.exp b/gcc/testsuite/gcc.misc-tests/options.exp
index b7a9cb5b5a1..1d4b779fe11 100644
--- a/gcc/testsuite/gcc.misc-tests/options.exp
+++ b/gcc/testsuite/gcc.misc-tests/options.exp
@@ -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
}
diff --git a/gcc/testsuite/lib/file-format.exp b/gcc/testsuite/lib/file-format.exp
index 87bddd775f1..491cf1274d9 100644
--- a/gcc/testsuite/lib/file-format.exp
+++ b/gcc/testsuite/lib/file-format.exp
@@ -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
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index 83d1d441d13..0621e7d075b 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -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]"
diff --git a/gcc/testsuite/lib/target-supports-dg.exp b/gcc/testsuite/lib/target-supports-dg.exp
index 40f82171dea..e7f9175fa6f 100644
--- a/gcc/testsuite/lib/target-supports-dg.exp
+++ b/gcc/testsuite/lib/target-supports-dg.exp
@@ -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
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0f653f7d897..3faf3ff83b0 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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.
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
index 70b588d20df..cc24fc9afbd 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -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"
}