https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79821
Bug ID: 79821 Summary: [7 regression] SEGV in cc1plus compiling 64-bit stdc++.h.gch/O2g.gch Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: redi at gcc dot gnu.org Target Milestone: --- Host: sparc-sun-solaris2.12 Target: sparc-sun-solaris2.12 Build: sparc-sun-solaris2.12 On 20170202, between r245811 and r245843, Solaris 12/SPARC bootstrap began to fail building 64-bit sparc-sun-solaris2.12/bits/stdc++.h.gch/O2g.gch in stage1: In file included from /vol/gcc/src/hg/trunk/local/libstdc++-v3/include/precompiled/stdc++.h:122:0: /var/gcc/regression/trunk/12-gcc/build/sparc-sun-solaris2.12/sparcv9/libstdc++-v3/include/shared_mutex:685:1: internal compiler error: Segmentation Fault } // namespace ^ 0x14e6127 crash_signal /vol/gcc/src/hg/trunk/local/gcc/toplev.c:337 0xfd9a4f gt_pch_note_object(void*, void*, void (*)(void*, void*, void (*)(void*, void*), void*)) /vol/gcc/src/hg/trunk/local/gcc/ggc-common.c:285 0x14da57f gt_pch_n_S(void const*) /vol/gcc/src/hg/trunk/local/gcc/stringpool.c:211 0xe828d3 gt_pch_nx(dw_attr_struct&) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-dwarf2out.h:980 0xe8278f gt_pch_nx_vec_dw_attr_node_va_gc_(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-dwarf2out.h:948 0xe81d97 gt_pch_nx_die_struct(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-dwarf2out.h:720 0xe81de7 gt_pch_nx_die_struct(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-dwarf2out.h:722 0xe82903 gt_pch_nx(dw_attr_struct&) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-dwarf2out.h:983 0xe8278f gt_pch_nx_vec_dw_attr_node_va_gc_(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-dwarf2out.h:948 0xe81d97 gt_pch_nx_die_struct(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-dwarf2out.h:720 0xadf14b gt_pch_nx_lang_tree_node(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-tree.h:1345 0xadcccf gt_pch_nx_lang_tree_node(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-tree.h:1042 0xadf053 gt_pch_nx_lang_tree_node(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-tree.h:1333 0xadcccf gt_pch_nx_lang_tree_node(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-tree.h:1042 0xadf02b gt_pch_nx_lang_tree_node(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-tree.h:1332 0xadda23 gt_pch_nx_lang_tree_node(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-tree.h:1154 0xb413db gt_pch_nx_cp_binding_level(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-name-lookup.h:174 0xb41363 gt_pch_nx_cxx_binding(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-name-lookup.h:164 0xae045f gt_pch_nx_lang_tree_node(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-tree.h:1538 0xadd443 gt_pch_nx_lang_tree_node(void*) /var/gcc/regression/trunk/12-gcc/build/gcc/gt-cp-tree.h:1111 A reghunt identified this patch 2017-03-02 Jonathan Wakely <jwak...@redhat.com> PR libstdc++/79789 * include/bits/hashtable_policy.h (__clp2): Use reserved names for parameters and local variables. * include/bits/ios_base.h (make_error_code, make_error_condition): Likewise. * include/bits/list.tcc (list::sort): Likewise. * include/bits/mask_array.h (mask_array): Likewise. * include/bits/regex.h (regex_token_iterator): Likewise. * include/bits/slice_array.h (slice_array): Likewise. * include/bits/stl_algo.h (__sample): Likewise. * include/std/memory (undeclare_no_pointers): Likewise. * include/std/type_traits (is_callable_v, is_nothrow_callable_v): Likewise. * libsupc++/exception_ptr.h (__dest_thunk): Likewise. * testsuite/17_intro/headers/names.cc: New test. as the culprit. The ugly thing is: once I add -save-temps to be able to run the failing cc1plus invocation under gdb, the SEGV goes away. Comparing stdc++.ii without and with the patch, nothing sticks out that might cause this. Rainer