aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/debug/debug.exp13
2 files changed, 16 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f6da54e..41a65c0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2003-05-12 David Edelsohn <edelsohn@gnu.org>
+
+ * debug/debug.exp: Skip debug-[12].c at -O3 on non-Dwarf targets.
+
2003-05-12 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
* g++.old-deja/g++.brendan/ns1.C: Remove private member warning.
diff --git a/gcc/testsuite/gcc.dg/debug/debug.exp b/gcc/testsuite/gcc.dg/debug/debug.exp
index 310ce13..3495736 100644
--- a/gcc/testsuite/gcc.dg/debug/debug.exp
+++ b/gcc/testsuite/gcc.dg/debug/debug.exp
@@ -66,7 +66,18 @@ foreach test [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] {
&& [string match "*1" [lindex "$flags" 0] ] } {
set doit 0
}
-
+
+# High optimization can remove the variable whose existence is tested.
+# Dwarf debugging with commentary (-dA) preserves the symbol name in the
+# assembler output, but stabs debugging does not.
+# http://gcc.gnu.org/ml/gcc-regression/2003-04/msg00095.html
+ if { [string match {*/debug-[12].c} "$nshort"] \
+ && [string match "*O3*" "$flags"] \
+ && ( [string match "*coff*" "$flags"] \
+ || [string match "*stabs*" "$flags"] ) } {
+ set doit 0
+ }
+
if { $doit } {
verbose -log "Testing $nshort, $flags" 1
dg-test $test $flags ""