This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/28410] [4.2 Regression] Wrong aliasing with global var grouping during call clobbering
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Jul 2006 13:29:11 -0000
- Subject: [Bug tree-optimization/28410] [4.2 Regression] Wrong aliasing with global var grouping during call clobbering
- References: <bug-28410-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from rguenth at gcc dot gnu dot org 2006-07-17 13:29 -------
Runnable testcase:
extern void abort(void);
struct Bar { int p; };
struct Foo { struct Bar *p; };
struct Bar p0 = { 0 };
struct Bar p1 = { 1 };
void bar(struct Foo *f)
{
f->p = &p0;
}
int foo(struct Foo *f)
{
f->p->p = 1;
bar(f);
return f->p->p;
}
int main()
{
struct Foo f;
f.p = &p1;
if (foo(&f) != 0)
abort ();
return 0;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28410