/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-optimized" } */ | |
void link_error (void); | |
typedef struct { | |
int x; | |
int z; | |
} Foo_t; | |
char *xm; | |
void bar(void); | |
void foo(void) | |
{ | |
Foo_t x; | |
x.x = 1; | |
x.z = 2; | |
xm = (char *)&x; | |
bar(); | |
/* We can't propagate x.z past bar, so this link_error should still be there. */ | |
if (x.z != 2) | |
link_error (); | |
} | |
/* { dg-final { scan-tree-dump-times "link_error" 1 "optimized"} } */ |