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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
<ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:355b42c5d9d58d266829d2e44528f7a5ca0eae37

commit r10-8852-g355b42c5d9d58d266829d2e44528f7a5ca0eae37
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Thu Oct 1 11:16:44 2020 +0200

    c++: Handle std::construct_at on automatic vars during constant evaluation
[PR97195]

    As mentioned in the PR, we only support due to a bug in constant
expressions
    std::construct_at on non-automatic variables, because we VERIFY_CONSTANT
the
    second argument of placement new, which fails verification if it is an
    address of an automatic variable.
    The following patch fixes it by not performing that verification, the
    placement new evaluation later on will verify it after it is dereferenced.

    2020-10-01  Jakub Jelinek  <ja...@redhat.com>

            PR c++/97195
            * constexpr.c (cxx_eval_call_expression): Don't VERIFY_CONSTANT the
            second argument.

            * g++.dg/cpp2a/constexpr-new14.C: New test.

    (cherry picked from commit 2805fcb32660bc0cdcd5ba54310f1f02651e039f)

Reply via email to