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