There is a handful of gcc.dg/store_merging_*.c tests in the testsuite with
both a main procedure doing sanity checks and a dg-do compile directive.
Tested on x86-64/Linux, applied on the mainline and 8 branch as obvious.
2018-05-31 Eric Botcazou <ebotca...@adacore.com>
* gcc.dg/store_merging_10.c: Turn dg-do compile into dg-do run.
* gcc.dg/store_merging_11.c: Likewise.
* gcc.dg/store_merging_13.c: Likewise.
* gcc.dg/store_merging_14.c: Likewise.
* gcc.dg/store_merging_15.c: Likewise.
* gcc.dg/store_merging_16.c: Likewise. Remove local variable.
--
Eric Botcazou
Index: gcc.dg/store_merging_10.c
===================================================================
--- gcc.dg/store_merging_10.c (revision 260913)
+++ gcc.dg/store_merging_10.c (working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do run } */
/* { dg-require-effective-target store_merge } */
/* { dg-options "-O2 -fdump-tree-store-merging" } */
Index: gcc.dg/store_merging_11.c
===================================================================
--- gcc.dg/store_merging_11.c (revision 260913)
+++ gcc.dg/store_merging_11.c (working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do run } */
/* { dg-require-effective-target store_merge } */
/* { dg-options "-O2 -fdump-tree-store-merging" } */
Index: gcc.dg/store_merging_13.c
===================================================================
--- gcc.dg/store_merging_13.c (revision 260913)
+++ gcc.dg/store_merging_13.c (working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do run } */
/* { dg-require-effective-target store_merge } */
/* { dg-options "-O2 -fdump-tree-store-merging" } */
Index: gcc.dg/store_merging_14.c
===================================================================
--- gcc.dg/store_merging_14.c (revision 260913)
+++ gcc.dg/store_merging_14.c (working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do run } */
/* { dg-require-effective-target store_merge } */
/* { dg-options "-O2 -fdump-tree-store-merging" } */
Index: gcc.dg/store_merging_15.c
===================================================================
--- gcc.dg/store_merging_15.c (revision 260913)
+++ gcc.dg/store_merging_15.c (working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do run } */
/* { dg-require-effective-target store_merge } */
/* { dg-options "-O2 -fdump-tree-store-merging" } */
Index: gcc.dg/store_merging_16.c
===================================================================
--- gcc.dg/store_merging_16.c (revision 260913)
+++ gcc.dg/store_merging_16.c (working copy)
@@ -1,6 +1,6 @@
/* Only test on some 64-bit targets which do have bswap{si,di}2 patterns and
are either big or little endian (not pdp endian). */
-/* { dg-do compile { target { lp64 && { i?86-*-* x86_64-*-* powerpc*-*-* aarch64*-*-* } } } } */
+/* { dg-do run { target { lp64 && { i?86-*-* x86_64-*-* powerpc*-*-* aarch64*-*-* } } } } */
/* { dg-require-effective-target store_merge } */
/* { dg-options "-O2 -fdump-tree-store-merging" } */
@@ -114,7 +114,7 @@ main ()
{
unsigned char a[8];
int i;
- struct S b, c, d;
+ struct S c, d;
f1 (a, 0x0102030405060708ULL);
for (i = 0; i < 8; ++i)
if (a[i] != 8 - i)