8sa1-gcc/gcc/testsuite/g++.dg/cpp2a/lambda-uneval1.C
David Edelsohn 9929d04ee2 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.
2021-01-21 18:49:33 -05:00

17 lines
287 B
C

// { dg-do compile { target c++20 } }
typedef decltype([]{}) C; // the closure type has no name for linkage purposes
// { dg-final { scan-assembler-not "\[^l\]globl\[ \t\.\]*_Z1f" } }
// { dg-final { scan-assembler-not "_Z1f1C" } }
void f(C) {}
int main()
{
C c;
c();
f(c);
}