http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60438
--- Comment #12 from linzj <manjian2006 at gmail dot com> ---
I have never known that regression is such a useful resort.
(In reply to Jakub Jelinek from comment #11)
> Reduced testcase for -Os -m32 -fomit-frame-pointer:
>
> struct A { int a; };
> struct B { A foo (); };
> struct C { B *foo (); };
> int foo (struct C *, float);
> void bar (struct C *);
> void baz (struct A *);
> int a, b, c;
>
> int
> foo (struct C *y, float x)
> {
> struct A d;
> if (c)
> bar (y);
> else
> {
> C g;
> g.foo ()->foo ();
> a = b;
> d.a = (int) (b * x);
> }
> baz (&d);
> }
>
> Started with r205498.