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

            Bug ID: 92443
           Summary: icein joust, at cp/call.c:11166
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

This C++ code:

struct a {
  constexpr a(long) : b() {}
  operator long() const;
  operator bool();
  constexpr friend a operator|(a, a c) { return c; }
  long b;
};
using d = a;
constexpr d e = 6, f = f | e;

does this:

bug563.cc:9:28: internal compiler error: in joust, at cp/call.c:11166
    9 | constexpr d e = 6, f = f | e;
      |                            ^
0x5e28de joust
        ../../trunk/gcc/cp/call.c:11166
0x8e67c0 tourney
        ../../trunk/gcc/cp/call.c:11565
0x8ef2d3 build_new_op_1
        ../../trunk/gcc/cp/call.c:6201
0x8efbdd build_new_op(op_location_t const&, tree_code, int, tree_node*,
tree_node*, tree_node*, tree_node**, int)
        ../../trunk/gcc/cp/call.c:6490

with recent gcc trunk. The bug first seems to occur between revision
277850 and 277900.

Reply via email to