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.