re PR middle-end/42834 (memcpy folding overeager)
[platform/upstream/gcc.git] / gcc / testsuite / gcc.dg / struct / wo_prof_local_var.c
index e931efa..26a9dbd 100644 (file)
@@ -8,7 +8,15 @@ typedef struct
   float b;
 }str_t;
 
+#ifdef STACK_SIZE
+#if STACK_SIZE > 8000
 #define N 1000
+#else
+#define N (STACK_SIZE/8)
+#endif
+#else
+#define N 1000
+#endif
 
 int
 main ()
@@ -16,16 +24,21 @@ main ()
   int i, sum;
 
   str_t * p = malloc (N * sizeof (str_t));
+  if (p == NULL)
+    return 0;
+  for (i = 0; i < N; i++)
+    p[i].b = i;
+
   for (i = 0; i < N; i++)
-    p[i].a = p[i].b + 1;
+    p[i].b = p[i].a + 1;
 
   for (i = 0; i < N; i++)
-    if (p[i].a != p[i].b + 1)
+    if (p[i].b != p[i].a + 1)
       abort ();
 
   return 0;
 }
 
 /*--------------------------------------------------------------------------*/
-/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" } } */
+/* { dg-final { scan-ipa-dump "Number of structures to transform is 1" "ipa_struct_reorg" { xfail *-*-* } } } */
 /* { dg-final { cleanup-ipa-dump "*" } } */