On 1/16/19 6:44 PM, David Malcolm wrote:
PR c++/88699 reports an ICE within this assertion in add_method:

   gcc_assert (!current_fns || !DECL_DESTRUCTOR_P (method));

when adding an overloaded operator to a class via a using_decl, due to
DECL_DESTRUCTOR_P requiring a FUNCTION_DECL, but "method" being a
USING_DECL.

This patch weakens the assertion to avoid testing DECL_DESTRUCTOR_P
for the case where "via_using" is true, fixing the ICE.

Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.

OK for trunk?

gcc/cp/ChangeLog:
        PR c++/88699
        * class.c (add_method): Don't use DECL_DESTRUCTOR_P on
        USING_DECLs.

gcc/testsuite/ChangeLog:
        PR c++/88699
        * g++.dg/template/pr88699.C: New test.

ok thanks


--
Nathan Sidwell

Reply via email to