https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70578
--- Comment #8 from ishikawa,chiaki <ishikawa at yk dot rim.or.jp> --- As for gcc-5 ICE, I observe an important thing after a little experimentation. This is a shortened command line that causes the ICE. /usr/bin/gcc-5 -std=gnu99 -o vp9_dsubexp.o -c -DNDEBUG=1 -DTRIMMED=1 \ -DHAVE_CONFIG_H=vpx_config.h -fPIC -DMOZILLA_CLIENT \ -fno-builtin-strlen -Wl,--gdb-index -Dfdatasync=fdatasync \ -DDEBUG_4GB_CHECK -DUSEHELGRIND=1 \ -gsplit-dwarf -g3 -Og ./vp9_dsubexp.i If I remove -gsplit-dwarf, I don't get the ICE. ishikawa@debian-vbox-ci:/tmp$ /usr/bin/gcc-5 -std=gnu99 -o vp9_dsubexp.o -c -DNDEBUG=1 -DTRIMMED=1 \ -DHAVE_CONFIG_H=vpx_config.h -fPIC -DMOZILLA_CLIENT \ -fno-builtin-strlen -Wl,--gdb-index -Dfdatasync=fdatasync \ -DDEBUG_4GB_CHECK -DUSEHELGRIND=1 \ -g3 -Og ./vp9_dsubexp.i > > > > ishikawa@debian-vbox-ci:/tmp$ But then, leaving -gsplit-dwarf intact, if I change "-g3" to "-g", I don't get an ICE. ishikawa@debian-vbox-ci:/tmp$ /usr/bin/gcc-5 -std=gnu99 -o vp9_dsubexp.o -c -DNDEBUG=1 -DTRIMMED=1 \ -DHAVE_CONFIG_H=vpx_config.h -fPIC -DMOZILLA_CLIENT \ -fno-builtin-strlen -Wl,--gdb-index -Dfdatasync=fdatasync \ -DDEBUG_4GB_CHECK -DUSEHELGRIND=1 \ -gsplit-dwarf -g -Og ./vp9_dsubexp.i > > > > ishikawa@debian-vbox-ci:/tmp$ So it could be a combination of -gsplit-dwarf and -g3 in my GCC-5 case. I have no idea what the cause of ICE for G++-6 case, though. TIA