https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89762
Bug ID: 89762 Summary: Mixing optimization levels with ostream gives lto1: internal compiler error: in get_odr_type, at ipa-devirt.c:2098 Product: gcc Version: 8.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: dan at stahlke dot org CC: marxin at gcc dot gnu.org Target Milestone: --- === A.cpp #include <iostream> std::ostream *a; int main() { } === B.cpp #include <iostream> std::ostream *b; === script (note different optimization levels) rm -f A.o B.o AB $CXX -flto -Wall -O1 -c A.cpp -o A.o $CXX -flto -Wall -O2 -c B.cpp -o B.o $CXX -flto A.o B.o -o AB === result lto1: internal compiler error: in get_odr_type, at ipa-devirt.c:2098 0x5d4a06 get_odr_type(tree_node*, bool) ../../gcc-8.3.0/gcc/ipa-devirt.c:2098 0x8398a3 register_odr_type(tree_node*) ../../gcc-8.3.0/gcc/ipa-devirt.c:2123 0x626a86 lto_read_decls ../../gcc-8.3.0/gcc/lto/lto.c:1887 0x627788 lto_file_finalize ../../gcc-8.3.0/gcc/lto/lto.c:2121 0x627788 lto_create_files_from_ids ../../gcc-8.3.0/gcc/lto/lto.c:2131 0x627788 lto_file_read ../../gcc-8.3.0/gcc/lto/lto.c:2172 0x627788 read_cgraph_and_symbols ../../gcc-8.3.0/gcc/lto/lto.c:2845 0x627788 lto_main() ../../gcc-8.3.0/gcc/lto/lto.c:3362 === build info Broken in 8.3: Using built-in specs. COLLECT_GCC=XXX/gcc-8.3.0/install/bin/g++ COLLECT_LTO_WRAPPER=XXX/gcc-8.3.0/install/libexec/gcc/x86_64-pc-linux-gnu/8.3.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-8.3.0/configure --prefix=/nfs/orto/proj/tapeout/cit_dev10/mkgumbel/gcc-8.3.0/install --enable-compressed-debug-sections=all Thread model: posix gcc version 8.3.0 (GCC) Works in 9-20190310: Using built-in specs. COLLECT_GCC=XXX/gcc-9/install/bin/g++ COLLECT_LTO_WRAPPER=XXX/gcc-9/install/libexec/gcc/x86_64-pc-linux-gnu/9.0.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-9-20190310/configure --prefix=/nfs/orto/proj/tapeout/cit_dev10/mkgumbel/gcc-9/install --enable-compressed-debug-sections=all --enable-gold --disable-werror --disable-bootstrap Thread model: posix gcc version 9.0.1 20190310 (experimental) (GCC)