From 6a6e71449b1a5b4fa36c99697b65d4710717cd64 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Fri, 8 Jul 2011 10:20:36 +0000 Subject: [PATCH] re PR testsuite/48727 (FAIL: g++.dg/opt/devirt2.C scan-assembler-times xyzzy 2) PR testsuite/48727 * g++.dg/opt/devirt2.C: Use specific pattern for sparc*-*-*. From-SVN: r176034 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/opt/devirt2.C | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 11a395c58f6..28d5cf9928e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-07-08 Rainer Orth + + PR testsuite/48727 + * g++.dg/opt/devirt2.C: Use specific pattern for sparc*-*-*. + 2011-07-08 Richard Guenther PR tree-optimization/49662 diff --git a/gcc/testsuite/g++.dg/opt/devirt2.C b/gcc/testsuite/g++.dg/opt/devirt2.C index e6dd7d62114..a16c25ff46a 100644 --- a/gcc/testsuite/g++.dg/opt/devirt2.C +++ b/gcc/testsuite/g++.dg/opt/devirt2.C @@ -2,9 +2,14 @@ // { dg-options "-O2" } // The IA64 and HPPA compilers generate external declarations in addition // to the call so those scans need to be more specific. -// { dg-final { scan-assembler-times "xyzzy" 2 { target { ! { hppa*-*-* ia64*-*-hpux* } } } } } -// { dg-final { scan-assembler-times "br\[^\n\]*xyzzy" 2 { target ia64*-*-hpux* } } } -// { dg-final { scan-assembler-times "xyzzy\[^\n\]*,%r" 2 { target hppa*-*-* } } } +// { dg-final { scan-assembler-times "xyzzy" 2 { target { ! { hppa*-*-* ia64*-*-hpux* sparc*-*-* } } } } } +// { dg-final { scan-assembler-times "br\[^\n\]*xyzzy" 2 { target ia64*-*-hpux* } } } +// { dg-final { scan-assembler-times "xyzzy\[^\n\]*,%r" 2 { target hppa*-*-* } } } +// Unless the assembler supports -relax, the 32-bit SPARC compiler generates +// sethi/jmp instead of just call, so the scans need to be more specific. +// With subexpressions, Tcl regexp -inline -all returns both the complete +// match and the subexpressions, so double the count. +// { dg-final { scan-assembler-times "\(jmp|call\)\[^\n\]*xyzzy" 4 { target sparc*-*-* } } } struct S { S(); virtual void xyzzy(); }; struct R { int a; S s; R(); }; -- 2.30.2