URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gcc.dg/] [20020310-1.c] - Rev 816
Compare with Previous | Blame | View Log
/* PR optimization/5844 This testcase was miscompiled because of an rtx sharing bug. */ /* { dg-do run } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -mtune=i586" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ struct A { struct A *a; int b; }; struct B { struct A *c; unsigned int d; }; struct A p = { &p, -1 }; struct B q = { &p, 0 }; extern void abort (void); extern void exit (int); struct B * foo (void) { return &q; } void bar (void) { struct B *e = foo (); struct A *f = e->c; int g = f->b; if (++g == 0) { e->d++; e->c = f->a; } f->b = g; } int main () { bar (); if (p.b != 0 || q.d != 1 || q.c != &p) abort (); exit (0); }