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.
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) {}
using L = decltype([]{ });
void f(L) { }
-// { dg-final { scan-assembler-not "globl.*_Z1f" } }
+// { dg-final { scan-assembler-not "\[^l\]globl\[ \t\.\]*_Z1f" } }