http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60319
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Zhendong Su from comment #3) > (In reply to Richard Biener from comment #1) > > Hmm, I can't reproduce this with 4.8 or trunk but with 4.5, 4.6 and 4.7. > > Richard, it still fails for me. Did you use LTO? Yes, I did. For me -O[s23] -flto -v -save-temps -fdump-tree-all results in a ccXYZ.ltrans0.o.169t.optimized file like ;; Function main (main, funcdef_no=2, decl_uid=2401, symbol_order=0) (executed once) main () { <bb 2>: return 0; } > $ gcc-trunk -v > Using built-in specs. > COLLECT_GCC=gcc-trunk > COLLECT_LTO_WRAPPER=/usr/local/gcc-trunk/libexec/gcc/x86_64-unknown-linux- > gnu/4.9.0/lto-wrapper > Target: x86_64-unknown-linux-gnu > Configured with: ../gcc-trunk/configure --prefix=/usr/local/gcc-trunk > --enable-languages=c,c++ --disable-werror --enable-multilib > Thread model: posix > gcc version 4.9.0 20140223 (experimental) [trunk revision 208062] (GCC) > $ > $ gcc-trunk -O0 -c foo.c > $ gcc-trunk -O0 -c main.c > $ gcc-trunk -Os foo.o main.o > $ a.out > $ > $ gcc-trunk -flto -O0 -c foo.c > $ gcc-trunk -flto -O0 -c main.c > $ gcc-trunk -flto -Os foo.o main.o > $ a.out > ^C > $ > $ gcc-4.8 -flto -O0 -c foo.c > $ gcc-4.8 -flto -O0 -c main.c > $ gcc-4.8 -flto -Os foo.o main.o > $ a.out > ^C > $