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.