From: David Edelsohn Date: Thu, 21 Jan 2021 19:17:10 +0000 (-0500) Subject: testsuite: Adjust cpp2a/lambda-uneval regrex X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9929d04ee24dfe0a8b27eff7aaa4ff7a768186e5;p=gcc.git testsuite: Adjust cpp2a/lambda-uneval regrex Both lambda-uneval1.C and lambda-uneval5.C test that a symbol is not declared global by looking for "globl" assembler directive. The testcases generate the "lglobl" directive in AIX XCOFF, which is a false positive. This patch restricts the regex to ignore a prepended "l". The patch also tightens the regex to specifically look for space, tab or period between the "globl" and the symbol. Tested on powerpc-ibm-aix7.2.3.0 and powerpc64le-linux-gnu. * g++.dg/cpp2a/lambda-uneval1.C: Ignore preceding "l" and intervening period. * g++.dg/cpp2a/lambda-uneval5.C: Ignore preceding "l" and explicitly check for intervening space, tab or period. --- diff --git a/gcc/testsuite/g++.dg/cpp2a/lambda-uneval1.C b/gcc/testsuite/g++.dg/cpp2a/lambda-uneval1.C index 816b6e994de..f4505b6957e 100644 --- a/gcc/testsuite/g++.dg/cpp2a/lambda-uneval1.C +++ b/gcc/testsuite/g++.dg/cpp2a/lambda-uneval1.C @@ -2,7 +2,7 @@ typedef decltype([]{}) C; // the closure type has no name for linkage purposes -// { dg-final { scan-assembler-not "globl\[ \t]*_Z1f" } } +// { dg-final { scan-assembler-not "\[^l\]globl\[ \t\.\]*_Z1f" } } // { dg-final { scan-assembler-not "_Z1f1C" } } void f(C) {} diff --git a/gcc/testsuite/g++.dg/cpp2a/lambda-uneval5.C b/gcc/testsuite/g++.dg/cpp2a/lambda-uneval5.C index dc19004d3a1..1e16679311c 100644 --- a/gcc/testsuite/g++.dg/cpp2a/lambda-uneval5.C +++ b/gcc/testsuite/g++.dg/cpp2a/lambda-uneval5.C @@ -2,4 +2,4 @@ using L = decltype([]{ }); void f(L) { } -// { dg-final { scan-assembler-not "globl.*_Z1f" } } +// { dg-final { scan-assembler-not "\[^l\]globl\[ \t\.\]*_Z1f" } }