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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:f6462f664725844faa97ae7e8690e4fedee65788

commit r16-2691-gf6462f664725844faa97ae7e8690e4fedee65788
Author: Jason Merrill <ja...@redhat.com>
Date:   Thu Jul 31 14:23:10 2025 -0400

    c++: constexpr, array, private ctor [PR120800]

    Here cxx_eval_vec_init_1 wants to recreate the default constructor call
that
    we previously built and threw away in build_vec_init_elt, but we aren't in
    the same access context at this point.  Since we already checked access,
    let's just suppress access control here.

    Redoing overload resolution at constant evaluation time is sketchy, but
    should usually be fine for a default/copy constructor.

            PR c++/120800

    gcc/cp/ChangeLog:

            * constexpr.cc (cxx_eval_vec_init_1): Suppress access control.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/constexpr-array30.C: New test.

Reply via email to