diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/torture/pr54409.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.dg/torture/pr54409.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr54409.c b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr54409.c new file mode 100644 index 000000000..c7595474f --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr54409.c @@ -0,0 +1,28 @@ +/* { dg-do compile } */ + +int b; + +struct S +{ + char *p; + struct { + } s; + int a; +}; + +static _Bool +fn2 (int *p1) +{ + if (b) + { + struct S *c = (struct S *) &p1; + return c->a; + } +} + +_Bool +fn3 (struct S *p1) +{ + if (fn2 ((int *) &p1->s)) + return 0; +} |