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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>:

https://gcc.gnu.org/g:4924293a62ee797310dd448e545118afd5aebb3f

commit r11-373-g4924293a62ee797310dd448e545118afd5aebb3f
Author: Patrick Palka <ppa...@redhat.com>
Date:   Wed May 13 16:27:45 2020 -0400

    c++: SFINAE for invalid delete-expression [PR79706]

    This fixes SFINAE when substitution yields an invalid delete-expression
    due to the pertinent deallocation function being marked deleted or
    otherwise inaccessible.

    We need to check for an erroneous result from build_op_delete_call and
    exit early in that case, so that we don't build a COND_EXPR around the
    erroneous result which finish_decltype_type would then quietly accept.

    gcc/cp/ChangeLog:

            PR c++/79706
            * init.c (build_vec_delete_1): Just return error_mark_node if
            deallocate_expr is error_mark_node.
            (build_delete): Just return error_mark_node if do_delete is
            error_mark_node.

    gcc/testsuite/ChangeLog:

            PR c++/79706
            * g++.dg/template/sfinae30.C: New test.

Reply via email to