This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/85356] New: [7/8 Regression] ICE with operator=


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

            Bug ID: 85356
           Summary: [7/8 Regression] ICE with operator=
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: reichelt at gcc dot gnu.org
  Target Milestone: ---

The following valid code snippet triggers an ICE since GCC 7.1.0
when compiled with "-std=c++1z":

==============================
struct A
{
  A& operator=(int);
};

void foo(A&(A::*)(int));

template<int> void bar()
{
  foo(&A::operator=);
}
==============================

bug.cc: In function 'void bar()':
bug.cc:10:20: internal compiler error: in type_throw_all_p, at cp/except.c:1185
   foo(&A::operator=);
                    ^
0x610678 type_throw_all_p(tree_node const*)
        ../../gcc/gcc/cp/except.c:1185
0x878e58 noexcept_conv_p
        ../../gcc/gcc/cp/cvt.c:2015
0x878e58 fnptr_conv_p(tree_node*, tree_node*)
        ../../gcc/gcc/cp/cvt.c:2041
0x8370d1 resolve_address_of_overloaded_function
        ../../gcc/gcc/cp/class.c:7713
0x81de96 standard_conversion
        ../../gcc/gcc/cp/call.c:1122
0x82989f implicit_conversion
        ../../gcc/gcc/cp/call.c:1843
0x82ad9a add_function_candidate
        ../../gcc/gcc/cp/call.c:2203
0x82c45b add_candidates
        ../../gcc/gcc/cp/call.c:5533
0x82c8d1 add_candidates
        ../../gcc/gcc/cp/call.c:4192
0x82c8d1 perform_overload_resolution
        ../../gcc/gcc/cp/call.c:4200
0x82e942 build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
        ../../gcc/gcc/cp/call.c:4273
0x9ace05 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool,
bool, int)
        ../../gcc/gcc/cp/semantics.c:2534
0x93813a cp_parser_postfix_expression
        ../../gcc/gcc/cp/parser.c:7235
0x938990 cp_parser_unary_expression
        ../../gcc/gcc/cp/parser.c:8314
0x91880f cp_parser_cast_expression
        ../../gcc/gcc/cp/parser.c:9082
0x91901a cp_parser_binary_expression
        ../../gcc/gcc/cp/parser.c:9183
0x91a854 cp_parser_assignment_expression
        ../../gcc/gcc/cp/parser.c:9478
0x91af58 cp_parser_expression
        ../../gcc/gcc/cp/parser.c:9647
0x91cc38 cp_parser_expression_statement
        ../../gcc/gcc/cp/parser.c:11123
0x92306d cp_parser_statement
        ../../gcc/gcc/cp/parser.c:10927
Please submit a full bug report, [etc.]

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]