diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr36666.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr36666.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr36666.c b/gcc/testsuite/gcc.c-torture/compile/pr36666.c new file mode 100644 index 000000000..9eb132cd0 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr36666.c @@ -0,0 +1,22 @@ +struct Foo { + int *p; + struct X { + int a,b,c,d,e,*f; + } x; +} *init, *init2; + +struct X __attribute__((const)) foo(struct X); +struct Foo __attribute__((const)) foo2(struct Foo); + +void bar1 (void) +{ + init->x = foo (init2->x); +} +void bar2 (void) +{ + init->x = foo (init->x); +} +void bar3 (void) +{ + *init = foo2 (*init2); +} |