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

Reply via email to