testsuite, Darwin: Allow for two CTOR bodies in array61 test.

For targets without alias support, we emit two essentially identical function
bodies into the gimple (complete and base CTORs). So this test needs to allow
for that when the target does not support aliases.  The target support alias
test does not seem to be usable in the context of a single scan-tree-dump so
the fix here uses the target designation.

Note that the array has 10 elements, so that if the test were failing (because
we were emitting 10 inits instead of a loop) the count would be expected to
exceed 2, on Darwin and 1 where there's alias support.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

gcc/testsuite/ChangeLog:

	* g++.dg/init/array61.C: Allow for two CTOR bodies on Darwin, where
	aliases are not currently supported.
This commit is contained in:
Iain Sandoe 2022-06-19 10:21:28 +01:00
parent 2eb3adb43e
commit 125bf21299

View file

@ -1,7 +1,8 @@
// PR c++/92385
// { dg-do compile { target c++11 } }
// { dg-additional-options -fdump-tree-gimple }
// { dg-final { scan-tree-dump-times "item::item" 1 "gimple" } }
// { dg-final { scan-tree-dump-times "item::item" 1 "gimple" { target { ! *-*-darwin* } } } }
// { dg-final { scan-tree-dump-times "item::item" 2 "gimple" { target { *-*-darwin* } } } }
struct item {
int i;