OSDN Git Service

* gcc.gd/struct/wo_prof_global_var.c: Use uninitialized integer
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pr27363.c
1 /* PR27363.  CSE was breaking on the arm store multiple insn used for
2    structure copies.  */
3 /* { dg-do run } */
4 /* { dg-options "-Os" } */
5 extern void abort (void);
6
7 struct snd_mask {
8     unsigned int bits[6];
9 };
10
11 static int __attribute__((noinline))
12 snd_mask_refine(struct snd_mask *mask)
13 {
14   struct snd_mask old;
15
16   old = *mask;
17   if (mask->bits[0]==0 && mask->bits[1]==0)
18     return 1;
19
20   return old.bits[0] != mask->bits[0];
21 }
22
23 int main(int argc, char *argv[])
24 {
25   struct snd_mask mask;
26
27
28   mask.bits[0] = 23;
29   mask.bits[1] = 42;
30   mask.bits[2] = 0;
31   mask.bits[3] = 0;
32   mask.bits[4] = 0; 
33   mask.bits[5] = 0;
34
35
36   if (snd_mask_refine(&mask))
37     abort();
38   return 0;
39 }