testsuite: Update pr94426-2 test to handle more targets [PR94426]

The function (_Z4InitIN3VARIZ1qvEUlvE_EUlvE_EEbT_) that initializes
VAR has changed siganture.  It was was weak / comdat [Linux] or
weak / global [Darwin] and now is text section local.

So: test that the symbol exists, is spelled the way intended by the
ABI mangling and is not weak (or global on Darwin).

gcc/testsuite/ChangeLog:

2020-04-16  Iain Sandoe  <iain@sandoe.co.uk>

	PR c++/94426
	* g++.dg/cpp0x/lambda/pr94426-2.C: Adjust scan-asms to test
	for the change on more platforms.
This commit is contained in:
Iain Sandoe 2020-04-16 21:13:51 +01:00
parent 7123347c8b
commit b084efe3fc
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2020-04-16 Iain Sandoe <iain@sandoe.co.uk>
* g++.dg/cpp0x/lambda/pr94426-2.C: Adjust scan-asms to test
for the change on more platforms.
2020-04-16 Martin Jambor <mjambor@suse.cz>
PR ipa/93621

View File

@ -16,5 +16,11 @@ void q ()
}
// The instantiation of VAR becomes local
// { dg-final { scan-assembler {.local _Z3VARIZ1qvEUlvE_E} { target { i?86-*-* x86_64-*-* } } } }
// { dg-final { scan-assembler {.comm _Z3VARIZ1qvEUlvE_E,1,1} { target { i?86-*-* x86_64-*-* } } } }
// { dg-final { scan-assembler {.local _Z3VARIZ1qvEUlvE_E} { target { { i?86-*-* x86_64-*-* } && { ! *-*-darwin* } } } } }
// { dg-final { scan-assembler {.comm _Z3VARIZ1qvEUlvE_E,1,1} { target { { i?86-*-* x86_64-*-* } && { ! *-*-darwin* } } } } }
// The instantiation of VAR becomes local
// { dg-final { scan-assembler-not {.globl[ \t]+_?_Z4InitIN3VARIZ1qvEUlvE_EUlvE_EEbT_} { target *-*-darwin* } } }
// { dg-final { scan-assembler-not {.weak(_definition)?[ \t]+_?_Z4InitIN3VARIZ1qvEUlvE_EUlvE_EEbT_} { target { i?86-*-* x86_64-*-* *-*-darwin* } } } }
// Make sure it is defined with the mangling we expect.
// { dg-final { scan-assembler {_?_Z4InitIN3VARIZ1qvEUlvE_EUlvE_EEbT_:} { target { i?86-*-* x86_64-*-* *-*-darwin* } } } }