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

--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Simon Martin <simar...@gcc.gnu.org>:

https://gcc.gnu.org/g:3a528386571fffbb41703a238aee950043af3f3c

commit r15-4026-g3a528386571fffbb41703a238aee950043af3f3c
Author: Simon Martin <si...@nasilyan.com>
Date:   Wed Oct 2 15:32:37 2024 +0200

    c++: Fix regression introduced by r15-3796 [PR116722]

    Jason pointed out that the fix I made for PR116722 via r15-3796
    introduces a regression when running constexpr-dynamic10.C with
    -fimplicit-constexpr.

    The problem is that my change makes us leave cxx_eval_call_expression
    early, and bypass the call to cxx_eval_thunk_call (through a recursive
    call to cxx_eval_call_expression) that used to emit an error for that
    testcase with -fimplicit-constexpr.

    This patch emits the error if !ctx->quiet before bailing out because the
    {con,de}structor belongs to a class with virtual bases.

            PR c++/116722

    gcc/cp/ChangeLog:

            * constexpr.cc (cxx_bind_parameters_in_call): When !ctx->quiet,
            emit error before bailing out due to a call to {con,de}structor
            for a class with virtual bases.

Reply via email to