https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66515

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-06-11
                 CC|                            |trippels at gcc dot gnu.org
      Known to work|                            |4.8.4, 4.9.2
            Summary|g++ segfaults when creating |[5/6 Regression] g++
                   |an std::initializer_list    |segfaults when creating an
                   |                            |std::initializer_list
     Ever confirmed|0                           |1
      Known to fail|                            |5.0, 6.0

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
markus@x4 tmp % cat bug_gcc.ii
namespace std
{
template <class _E> class initializer_list
{
  const _E *_M_array;
  unsigned long _M_len;
};
}

struct type_t
{
};
type_t &
get ()
{
  std::initializer_list<type_t>{ { get () } };
}

markus@x4 tmp % g++ -std=c++11 bug_gcc.ii
bug_gcc.ii: In function ‘type_t& get()’:
bug_gcc.ii:16:45: internal compiler error: tree check: expected constructor,
have indirect_ref in build_aggr_conv, at cp/call.c:946
   std::initializer_list<type_t>{ { get () } };
                                             ^
0xf3f0bc tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../gcc/gcc/tree.c:9379
0x5cd1bf tree_check(tree_node*, char const*, int, char const*, tree_code)
        ../../gcc/gcc/tree.h:2858
0x5cd1bf build_aggr_conv
        ../../gcc/gcc/cp/call.c:946
0x5cd1bf implicit_conversion
        ../../gcc/gcc/cp/call.c:1856
0x5cccf9 build_list_conv
        ../../gcc/gcc/cp/call.c:829
0x5cccf9 implicit_conversion
        ../../gcc/gcc/cp/call.c:1807
0x5cd97e reference_binding
        ../../gcc/gcc/cp/call.c:1532
0x5cc504 implicit_conversion
        ../../gcc/gcc/cp/call.c:1797
0x5ce8e2 add_function_candidate
        ../../gcc/gcc/cp/call.c:2106
0x5cfde7 add_candidates
        ../../gcc/gcc/cp/call.c:5283
0x5d0124 add_list_candidates
        ../../gcc/gcc/cp/call.c:3546
0x5d0ff3 build_new_method_call_1
        ../../gcc/gcc/cp/call.c:8111
0x5d0ff3 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
        ../../gcc/gcc/cp/call.c:8313
0x5d1cc9 build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
        ../../gcc/gcc/cp/call.c:7853
0x5d47c3 perform_direct_initialization_if_possible(tree_node*, tree_node*,
bool, int)
        ../../gcc/gcc/cp/call.c:9506
0x723c87 build_static_cast_1
        ../../gcc/gcc/cp/typeck.c:6576
0x725037 cp_build_c_cast(tree_node*, tree_node*, int)
        ../../gcc/gcc/cp/typeck.c:7256
0x67798a build_functional_cast(tree_node*, tree_node*, int)
        ../../gcc/gcc/cp/typeck2.c:1980
0x755aa9 finish_compound_literal(tree_node*, tree_node*, int)
        ../../gcc/gcc/cp/semantics.c:2614
0x6e0b21 cp_parser_functional_cast
        ../../gcc/gcc/cp/parser.c:23914
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to