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)?
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