/* { dg-options "-O2 -fdump-tree-optimized" } */ | |
static int a; | |
int f; | |
void bar (void) __attribute__((noinline)); | |
void bar (void) | |
{ | |
f = 9; | |
} | |
void link_error (); | |
int foo() | |
{ | |
int b, c; | |
a = 5; | |
b = a; | |
bar (); | |
b = b + a; | |
if (b != 10) | |
link_error (); | |
return b; | |
} | |
/* We should have removed the link_error on the tree level as GCC can tell that | |
a is not touched by the calling bar at all. */ | |
/* { dg-final { scan-tree-dump-times "link_error" 0 "optimized"} } */ | |
/* { dg-final { cleanup-tree-dump "optimized" } } */ |