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 <[email protected]>
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