https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87156
Bug ID: 87156 Summary: [9 Regression] ICE building libstdc++ for mips64 Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org CC: hubicka at gcc dot gnu.org Target Milestone: --- Target: mips64-linux-gnu Created attachment 44632 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44632&action=edit Preprocessed source I see the following ICE building libstdc++ for mips64-linux-gnu. Compile with: -S -O2 -std=gnu++11 compatibility-c++0x.ii Bisecting shows it first appearing with r263962, though I don't really see what it has to do with that commit. Still fails as of r263983 (line numbers in this backtrace are from that revision). during GIMPLE pass: fnsplit /scratch/jmyers/glibc/many9/src/gcc/libstdc++-v3/src/c++11/compatibility-c++0x.cc: In function 'virtual std::error_condition std::error_category::default_error_condition(int) const': /scratch/jmyers/glibc/many9/src/gcc/libstdc++-v3/src/c++11/compatibility-c++0x.cc:256:1: internal compiler error: Segmentation fault 256 | } | ^ 0xd71e5f crash_signal /scratch/jmyers/glibc/many9/src/gcc/gcc/toplev.c:325 0x1036ca8 tree_class_check(tree_node*, tree_code_class, char const*, int, char const*) /scratch/jmyers/glibc/many9/src/gcc/gcc/tree.h:3235 0x1036ca8 decl_function_context(tree_node const*) /scratch/jmyers/glibc/many9/src/gcc/gcc/tree.c:8994 0x10d0cb7 mips_get_compress_mode /scratch/jmyers/glibc/many9/src/gcc/gcc/config/mips/mips.c:1355 0x10d1fa8 mips_set_current_function /scratch/jmyers/glibc/many9/src/gcc/gcc/config/mips/mips.c:19636 0xa6ba9b invoke_set_current_function_hook /scratch/jmyers/glibc/many9/src/gcc/gcc/function.c:4616 0xa74533 invoke_set_current_function_hook /scratch/jmyers/glibc/many9/src/gcc/gcc/function.c:4600 0xa74533 allocate_struct_function(tree_node*, bool) /scratch/jmyers/glibc/many9/src/gcc/gcc/function.c:4729 0xe05d4d initialize_cfun /scratch/jmyers/glibc/many9/src/gcc/gcc/tree-inline.c:2452 0xe05d4d tree_function_versioning(tree_node*, tree_node*, vec<ipa_replace_map*, va_gc, vl_embed>*, bool, bitmap_head*, bool, bitmap_head*, basic_block_def*) /scratch/jmyers/glibc/many9/src/gcc/gcc/tree-inline.c:5833 0x92e80c cgraph_node::create_version_clone_with_body(vec<cgraph_edge*, va_heap, vl_ptr>, vec<ipa_replace_map*, va_gc, vl_embed>*, bitmap_head*, bool, bitmap_head*, basic_block_def*, char const*) /scratch/jmyers/glibc/many9/src/gcc/gcc/cgraphclones.c:984 0x58b18c split_function /scratch/jmyers/glibc/many9/src/gcc/gcc/ipa-split.c:1330 0x14269d2 execute_split_functions /scratch/jmyers/glibc/many9/src/gcc/gcc/ipa-split.c:1825 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.