testsuite, Darwin: Allow for two CTOR bodies in array61 test.
authorIain Sandoe <iain@sandoe.co.uk>
Sun, 19 Jun 2022 09:21:28 +0000 (10:21 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Mon, 20 Jun 2022 15:21:03 +0000 (16:21 +0100)
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.

gcc/testsuite/g++.dg/init/array61.C

index eaf535c..c8f82b9 100644 (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;