On Tue, 15 Nov 2022 at 23:50, Jakub Jelinek <ja...@redhat.com> wrote:
>
> On Tue, Nov 15, 2022 at 06:36:38PM -0500, Jason Merrill wrote:
> > > Here is an updated patch that passed bootstrap/regtest, the only
> > > change is another testcase tweak.
> > >
> > > 2022-11-13  Jakub Jelinek  <ja...@redhat.com>
> > >
> > > gcc/c-family/
> > >     * c-cppbuiltin.cc (c_cpp_builtins): Bump __cpp_constexpr
> > >     value from 202207L to 202211L.
> > > gcc/cp/
> > >     * constexpr.cc (cxx_eval_constant_expression): Implement C++23
> > >     P2647R1 - Permitting static constexpr variables in constexpr 
> > > functions.
> > >     Allow decl_maybe_constant_var_p static or thread_local vars for
> > >     C++23.
> >
> > This was accepted as a DR, so it shouldn't be limited to C++23 mode.
> > Certainly it should be allowed in C++20 mode; I don't have a strong opinion
> > about C++14/17.  Jonathan, do you?
>
> How will a feature with feature test macro with multiple values work as DR?
> Or will everything but the macro be treated as a DR (so __cpp_constexpr >=
> 202211L only for C++23)?

Yes, I think so. We just won't be able to advertise this feature as
supported in C++20.

> Because __cpp_constexpr >= 202211L is >= 202207L too and that implies
> P2448R2 which wasn't a DR and >= 202110L which implies P2242R3 which wasn't a
> DR.  And C++20 added other 2 non-DR papers that bumped the value.
> C++17 another one.
>
> > >     (potential_constant_expression_1): Likewise.
> > > gcc/testsuite/
> > >     * g++.dg/cpp23/constexpr-nonlit17.C: New test.
> > >     * g++.dg/cpp23/feat-cxx2b.C: Adjust expected __cpp_constexpr
> > >     value.
> > >     * g++.dg/ext/stmtexpr19.C: Don't expect an error for C++23 or later.
>
>         Jakub
>

Reply via email to