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

            Bug ID: 80979
           Summary: ice in lookup_mark, at cp/tree.c:2298
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

Created attachment 41470
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41470&action=edit
gzipped C++ source code

The attached C++ code does this when compiled by recent gcc trunk:

../../src/upnp.cpp: In member function 'void libtorrent::upnp::on_reply(const
endpoint&, char*, std::size_t)':
../../src/upnp.cpp:392:58: internal compiler error: in lookup_mark, at
cp/tree.c:2298
    , boost::bind(&ip_route::gateway, _1) == from.address()) == routes.end())
                                                          ^
0x81a737 lookup_mark(tree_node*, bool)
    ../../trunk/gcc/cp/tree.c:2298
0x7064d9 name_lookup::add_overload(tree_node*)
    ../../trunk/gcc/cp/name-lookup.c:431
0x70f1f9 name_lookup::adl_namespace(tree_node*)
    ../../trunk/gcc/cp/name-lookup.c:432
0x70f1f9 name_lookup::adl_class_only(tree_node*)
    ../../trunk/gcc/cp/name-lookup.c:786

The bug seems to exist between revisions 248553 and 248835. 
No special compiler flags seem to be required.
I'll have a go at reducing the code.

Reply via email to