/* { dg-do run } */ typedef struct _s { int a; int b; int c; int d; } s; extern void abort(void); void __attribute__((noinline)) g(s *p) { if (p->d != 0) abort (); } char *c = (void*)0; void __attribute__((noinline)) f(void) { if (c) *c = 1; } void test_signed_msg_encoding(void) { s signInfo = { sizeof(signInfo), 0 }; signInfo.b = 1; signInfo.c = 0; g(&signInfo); signInfo.d = 1; f(); } int main() { test_signed_msg_encoding (); test_signed_msg_encoding (); return 0; }