Merge -r 127928:132243 from trunk
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr30375.c
blobea63f97c98d26f19e678fffb02c55f7f3b9f6da1
1 /* { dg-do run } */
2 /* { dg-options "--param max-aliased-vops=0" } */
4 typedef struct _s {
5 int a;
6 int b;
7 int c;
8 int d;
9 } s;
11 extern void abort(void);
13 void __attribute__((noinline)) g(s *p)
15 if (p->d != 0)
16 abort ();
19 char *c = (void*)0;
20 void __attribute__((noinline)) f(void) { if (c) *c = 1; }
22 void test_signed_msg_encoding(void)
24 s signInfo = { sizeof(signInfo), 0 };
26 signInfo.b = 1;
27 signInfo.c = 0;
28 g(&signInfo);
29 signInfo.d = 1;
30 f();
33 int main()
35 test_signed_msg_encoding ();
36 test_signed_msg_encoding ();
37 return 0;