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.