https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70578
--- Comment #4 from ishikawa,chiaki <ishikawa at yk dot rim.or.jp> --- I found that the following simplified command line causes ICE while the next command line where I have removed "-fno-exception" does not cause ICE even though I still keep -gdwarf-output. Hope this may shed some light on the issue. command line and output ICE. /usr/bin/g++-6 -std=gnu++11 -o uvectr64.o -c -gsplit-dwarf -DNDEBUG=1 -DTRIMMED=1 -DU_COMMON_IMPLEMENTATION -DLOCALE_SNAME=92 -DUCONFIG_NO_BREAK_ITERATION -DUCONFIG_NO_TRANSLITERATION -DUCONFIG_NO_REGULAR_EXPRESSIONS -DUCONFIG_NO_LEGACY_CONVERSION -DU_USING_ICU_NAMESPACE=0 -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 -DU_CHARSET_IS_UTF8 -MD -MP -MF -Wall -Wc++11-compat -fno-builtin-strlen -Wl,--gdb-index -Dfdatasync=fdatasync -DDEBUG_4GB_CHECK -DUSEHELGRIND=1 -fno-strict-aliasing -fno-rtti -fno-exceptions -pthread -g3 -Og uvectr64.ii /new-hd1/extra/ishikawa/TB-3HG/NEW-COMMSRC/mozilla/intl/icu/source/common/uvectr64.cpp:213:3: internal compiler error: in output_index_string, at dwarf2out.c:25635 U_NAMESPACE_END ^ Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions. Command line without ICE. /usr/bin/g++-6 -std=gnu++11 -o uvectr64.o -c -gsplit-dwarf -DNDEBUG=1 -DTRIMMED=1 -DU_COMMON_IMPLEMENTATION -DLOCALE_SNAME=92 -DUCONFIG_NO_BREAK_ITERATION -DUCONFIG_NO_TRANSLITERATION -DUCONFIG_NO_REGULAR_EXPRESSIONS -DUCONFIG_NO_LEGACY_CONVERSION -DU_USING_ICU_NAMESPACE=0 -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 -DU_CHARSET_IS_UTF8 -MD -MP -MF -Wall -Wc++11-compat -fno-builtin-strlen -Wl,--gdb-index -Dfdatasync=fdatasync -DDEBUG_4GB_CHECK -DUSEHELGRIND=1 -fno-strict-aliasing -fno-rtti -pthread -g3 -Og uvectr64.ii (Not sure though, if the object is correct or not.) TIA