diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/torture/pr82902.C')
-rw-r--r-- | gcc/testsuite/g++.dg/torture/pr82902.C | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/torture/pr82902.C b/gcc/testsuite/g++.dg/torture/pr82902.C new file mode 100644 index 00000000000..cc2ce271d4c --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr82902.C @@ -0,0 +1,21 @@ +// { dg-do compile } + +typedef struct el_t { + el_t *next; + int elem[]; +} EL; +el_t a, c; +void *b; +void *fn1() { + if (b) + return a.elem; + return c.elem; +} +typedef struct { + int x; +} EV_T; +EV_T *d; +void fn2() { + EV_T *e = (EV_T *)fn1(); + d[0] = *e; +} |