1 /* { dg-do run } */
2 
3 typedef struct _s {
4     int a;
5     int b;
6     int c;
7     int d;
8 } s;
9 
10 extern void abort(void);
11 
g(s * p)12 void __attribute__((noinline)) g(s *p)
13 {
14   if (p->d != 0)
15     abort ();
16 }
17 
18 char *c = (void*)0;
f(void)19 void __attribute__((noinline)) f(void) { if (c) *c = 1; }
20 
test_signed_msg_encoding(void)21 void test_signed_msg_encoding(void)
22 {
23     s signInfo = { sizeof(signInfo), 0 };
24 
25     signInfo.b = 1;
26     signInfo.c = 0;
27     g(&signInfo);
28     signInfo.d = 1;
29     f();
30 }
31 
main()32 int main()
33 {
34   test_signed_msg_encoding ();
35   test_signed_msg_encoding ();
36   return 0;
37 }
38