/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-optimized" } */ | |
struct a | |
{ | |
int b; | |
int c; | |
}; | |
__attribute__ ((noclone, noinline)) | |
void | |
test (struct a *a) | |
{ | |
a->b = 2; | |
} | |
int | |
foo () | |
{ | |
struct a a = {113,114}; | |
test (&a); | |
return a.c; | |
} | |
int | |
foo2 (struct a *a) | |
{ | |
a->b = 123; | |
a->c = 124; | |
test (a); | |
return a->c; | |
} | |
/* { dg-final { scan-tree-dump "return 114" "optimized"} } */ | |
/* { dg-final { scan-tree-dump "return 124" "optimized"} } */ |