Hi Jason,

The following tests for g++.dg/ext/fnname5.C fail on darwin

FAIL: g++.dg/ext/fnname5.C  -std=c++11  scan-assembler .string\\t"foo"
FAIL: g++.dg/ext/fnname5.C  -std=c++11  scan-assembler .string\\t"void 
A::foo\\\\(int\\\\)"
FAIL: g++.dg/ext/fnname5.C  -std=c++14  scan-assembler .string\\t"foo"
FAIL: g++.dg/ext/fnname5.C  -std=c++14  scan-assembler .string\\t"void 
A::foo\\\\(int\\\\)"
FAIL: g++.dg/ext/fnname5.C  -std=c++98  scan-assembler .string\\t"foo"
FAIL: g++.dg/ext/fnname5.C  -std=c++98  scan-assembler .string\\t"void 
A::foo\\\\(int\\\\) »

AFAICT the corresponding patterns are

        .ascii "foo\0"
        .ascii "void A::foo(int)\0 »

This is fixed by the following patch

--- ../_clean/gcc/testsuite/g++.dg/ext/fnname5.C        2016-03-25 
22:46:32.000000000 +0100
+++ gcc/testsuite/g++.dg/ext/fnname5.C  2016-03-26 09:04:51.000000000 +0100
@@ -29,5 +29,5 @@ main ()
 /* { dg-final { scan-assembler-not "_ZZN1A3fooEvE12__FUNCTION__" } } */
 /* { dg-final { scan-assembler-not "_ZZN1A3fooEiE12__FUNCTION__" } } */
 /* { dg-final { scan-assembler-not "_ZZN1A3fooEiE19__PRETTY_FUNCTION__" } } */
-/* { dg-final { scan-assembler ".string        \"void A::foo\\(int\\)\"" } } */
-/* { dg-final { scan-assembler ".string        \"foo\"" } } */
+/* { dg-final { scan-assembler ".(string|ascii) \"void A::foo\\(int\\)(.0)?\"" 
} } */
+/* { dg-final { scan-assembler ".(string|ascii) \"foo(.0)?\"" } } */

TIA

Dominique





Reply via email to