Message ID | 20220209144049.1180949-1-jason@redhat.com |
---|---|
State | New |
Headers | show |
Series | [pushed] c++: P2493 feature test macro updates | expand |
On Wed, 9 Feb 2022 at 14:40, Jason Merrill wrote: > > The C++ committee just updated the values of these macros to reflect some > late C++20 papers that we implement but others don't yet; see PR103891. > > Tested x86_64-pc-linux-gnu, applying to trunk. Nice! I'll test the corresponding libstdc++ patch, thanks.
On Wed, Feb 09, 2022 at 09:40:49AM -0500, Jason Merrill via Gcc-patches wrote: > The C++ committee just updated the values of these macros to reflect some > late C++20 papers that we implement but others don't yet; see PR103891. > > Tested x86_64-pc-linux-gnu, applying to trunk. So, shouldn't we update project/cxx-status.html for that change? Like following? diff --git a/htdocs/projects/cxx-status.html b/htdocs/projects/cxx-status.html index 014fed8b..4bbff256 100644 --- a/htdocs/projects/cxx-status.html +++ b/htdocs/projects/cxx-status.html @@ -312,7 +312,7 @@ <td rowspan=12> Concepts </td> <td><a href="https://wg21.link/p0734r0">P0734R0</a></td> <td class="supported" rowspan=11> <a href="../gcc-10/changes.html#cxx">10</a> </td> - <td rowspan=12> __cpp_concepts >= 201907 </td> + <td rowspan=12> __cpp_concepts >= 202002 </td> </tr> <tr> <td><a href="https://wg21.link/p0857r0">P0857R0</a></td> @@ -590,7 +590,7 @@ <tr> <td><a href="https://wg21.link/p1330r0">P1330R0</a></td> <td class="supported center"> <a href="../gcc-9/changes.html#cxx">9</a> </td> - <td> </td> + <td> __cpp_constexpr >= 202002 </td> </tr> <tr> <template><!-- preserve CSS nth-child ordering --></template> Jakub
On Wed, 9 Feb 2022 at 15:24, Jakub Jelinek <jakub@redhat.com> wrote: > > On Wed, Feb 09, 2022 at 09:40:49AM -0500, Jason Merrill via Gcc-patches wrote: > > The C++ committee just updated the values of these macros to reflect some > > late C++20 papers that we implement but others don't yet; see PR103891. > > > > Tested x86_64-pc-linux-gnu, applying to trunk. > > So, shouldn't we update project/cxx-status.html for that change? > > Like following? > > diff --git a/htdocs/projects/cxx-status.html b/htdocs/projects/cxx-status.html > index 014fed8b..4bbff256 100644 > --- a/htdocs/projects/cxx-status.html > +++ b/htdocs/projects/cxx-status.html > @@ -312,7 +312,7 @@ > <td rowspan=12> Concepts </td> > <td><a href="https://wg21.link/p0734r0">P0734R0</a></td> > <td class="supported" rowspan=11> <a href="../gcc-10/changes.html#cxx">10</a> </td> > - <td rowspan=12> __cpp_concepts >= 201907 </td> > + <td rowspan=12> __cpp_concepts >= 202002 </td> I don't like this change. The value to check for P0734R0 support is still 201907. If you want to also check for P0848R3 support, you can use 202002. So I think it would be better to move the P0848R3 row out of the rowspan group, and then put 202002 as the macro for that paper. > </tr> > <tr> > <td><a href="https://wg21.link/p0857r0">P0857R0</a></td> > @@ -590,7 +590,7 @@ > <tr> > <td><a href="https://wg21.link/p1330r0">P1330R0</a></td> > <td class="supported center"> <a href="../gcc-9/changes.html#cxx">9</a> </td> > - <td> </td> > + <td> __cpp_constexpr >= 202002 </td> > </tr> > <tr> > <template><!-- preserve CSS nth-child ordering --></template> This one looks fine.
On Wed, Feb 09, 2022 at 03:38:32PM +0000, Jonathan Wakely wrote: > On Wed, 9 Feb 2022 at 15:24, Jakub Jelinek <jakub@redhat.com> wrote: > > > > On Wed, Feb 09, 2022 at 09:40:49AM -0500, Jason Merrill via Gcc-patches wrote: > > > The C++ committee just updated the values of these macros to reflect some > > > late C++20 papers that we implement but others don't yet; see PR103891. > > > > > > Tested x86_64-pc-linux-gnu, applying to trunk. > > > > So, shouldn't we update project/cxx-status.html for that change? > > > > Like following? > > > > diff --git a/htdocs/projects/cxx-status.html b/htdocs/projects/cxx-status.html > > index 014fed8b..4bbff256 100644 > > --- a/htdocs/projects/cxx-status.html > > +++ b/htdocs/projects/cxx-status.html > > @@ -312,7 +312,7 @@ > > <td rowspan=12> Concepts </td> > > <td><a href="https://wg21.link/p0734r0">P0734R0</a></td> > > <td class="supported" rowspan=11> <a href="../gcc-10/changes.html#cxx">10</a> </td> > > - <td rowspan=12> __cpp_concepts >= 201907 </td> > > + <td rowspan=12> __cpp_concepts >= 202002 </td> > > I don't like this change. The value to check for P0734R0 support is > still 201907. If you want to also check for P0848R3 support, you can > use 202002. So I think it would be better to move the P0848R3 row out > of the rowspan group, and then put 202002 as the macro for that paper. So perhaps like following then? diff --git a/htdocs/projects/cxx-status.html b/htdocs/projects/cxx-status.html index 014fed8b..5141629b 100644 --- a/htdocs/projects/cxx-status.html +++ b/htdocs/projects/cxx-status.html @@ -312,7 +312,7 @@ <td rowspan=12> Concepts </td> <td><a href="https://wg21.link/p0734r0">P0734R0</a></td> <td class="supported" rowspan=11> <a href="../gcc-10/changes.html#cxx">10</a> </td> - <td rowspan=12> __cpp_concepts >= 201907 </td> + <td rowspan=4> __cpp_concepts >= 201907 </td> </tr> <tr> <td><a href="https://wg21.link/p0857r0">P0857R0</a></td> @@ -325,9 +325,11 @@ </tr> <tr> <td><a href="https://wg21.link/p0848r3">P0848R3</a></td> + <td> __cpp_concepts >= 202002 </td> </tr> <tr> <td><a href="https://wg21.link/p1616r1">P1616R1</a></td> + <td rowspan=7> __cpp_concepts >= 201907 </td> </tr> <tr> <td><a href="https://wg21.link/p1452r2">P1452R2</a></td> @@ -590,7 +592,7 @@ <tr> <td><a href="https://wg21.link/p1330r0">P1330R0</a></td> <td class="supported center"> <a href="../gcc-9/changes.html#cxx">9</a> </td> - <td> </td> + <td> __cpp_constexpr >= 202002 </td> </tr> <tr> <template><!-- preserve CSS nth-child ordering --></template> Jakub
On Wed, 9 Feb 2022 at 15:45, Jakub Jelinek <jakub@redhat.com> wrote: > > On Wed, Feb 09, 2022 at 03:38:32PM +0000, Jonathan Wakely wrote: > > On Wed, 9 Feb 2022 at 15:24, Jakub Jelinek <jakub@redhat.com> wrote: > > > > > > On Wed, Feb 09, 2022 at 09:40:49AM -0500, Jason Merrill via Gcc-patches wrote: > > > > The C++ committee just updated the values of these macros to reflect some > > > > late C++20 papers that we implement but others don't yet; see PR103891. > > > > > > > > Tested x86_64-pc-linux-gnu, applying to trunk. > > > > > > So, shouldn't we update project/cxx-status.html for that change? > > > > > > Like following? > > > > > > diff --git a/htdocs/projects/cxx-status.html b/htdocs/projects/cxx-status.html > > > index 014fed8b..4bbff256 100644 > > > --- a/htdocs/projects/cxx-status.html > > > +++ b/htdocs/projects/cxx-status.html > > > @@ -312,7 +312,7 @@ > > > <td rowspan=12> Concepts </td> > > > <td><a href="https://wg21.link/p0734r0">P0734R0</a></td> > > > <td class="supported" rowspan=11> <a href="../gcc-10/changes.html#cxx">10</a> </td> > > > - <td rowspan=12> __cpp_concepts >= 201907 </td> > > > + <td rowspan=12> __cpp_concepts >= 202002 </td> > > > > I don't like this change. The value to check for P0734R0 support is > > still 201907. If you want to also check for P0848R3 support, you can > > use 202002. So I think it would be better to move the P0848R3 row out > > of the rowspan group, and then put 202002 as the macro for that paper. > > So perhaps like following then? That looks good to me. > diff --git a/htdocs/projects/cxx-status.html b/htdocs/projects/cxx-status.html > index 014fed8b..5141629b 100644 > --- a/htdocs/projects/cxx-status.html > +++ b/htdocs/projects/cxx-status.html > @@ -312,7 +312,7 @@ > <td rowspan=12> Concepts </td> > <td><a href="https://wg21.link/p0734r0">P0734R0</a></td> > <td class="supported" rowspan=11> <a href="../gcc-10/changes.html#cxx">10</a> </td> > - <td rowspan=12> __cpp_concepts >= 201907 </td> > + <td rowspan=4> __cpp_concepts >= 201907 </td> > </tr> > <tr> > <td><a href="https://wg21.link/p0857r0">P0857R0</a></td> > @@ -325,9 +325,11 @@ > </tr> > <tr> > <td><a href="https://wg21.link/p0848r3">P0848R3</a></td> > + <td> __cpp_concepts >= 202002 </td> > </tr> > <tr> > <td><a href="https://wg21.link/p1616r1">P1616R1</a></td> > + <td rowspan=7> __cpp_concepts >= 201907 </td> > </tr> > <tr> > <td><a href="https://wg21.link/p1452r2">P1452R2</a></td> > @@ -590,7 +592,7 @@ > <tr> > <td><a href="https://wg21.link/p1330r0">P1330R0</a></td> > <td class="supported center"> <a href="../gcc-9/changes.html#cxx">9</a> </td> > - <td> </td> > + <td> __cpp_constexpr >= 202002 </td> > </tr> > <tr> > <template><!-- preserve CSS nth-child ordering --></template> > > > Jakub >
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc index 528211cf50e..4672ae8486a 100644 --- a/gcc/c-family/c-cppbuiltin.cc +++ b/gcc/c-family/c-cppbuiltin.cc @@ -1059,7 +1059,7 @@ c_cpp_builtins (cpp_reader *pfile) cpp_define (pfile, "__cpp_generic_lambdas=201707L"); cpp_define (pfile, "__cpp_designated_initializers=201707L"); if (cxx_dialect <= cxx20) - cpp_define (pfile, "__cpp_constexpr=201907L"); + cpp_define (pfile, "__cpp_constexpr=202002L"); cpp_define (pfile, "__cpp_constexpr_in_decltype=201711L"); cpp_define (pfile, "__cpp_conditional_explicit=201806L"); cpp_define (pfile, "__cpp_consteval=201811L"); @@ -1084,7 +1084,7 @@ c_cpp_builtins (cpp_reader *pfile) if (flag_concepts) { if (cxx_dialect >= cxx20) - cpp_define (pfile, "__cpp_concepts=201907L"); + cpp_define (pfile, "__cpp_concepts=202002L"); else cpp_define (pfile, "__cpp_concepts=201507L"); } diff --git a/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C b/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C index 923e6bcf65e..c1f91e78e66 100644 --- a/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C +++ b/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C @@ -528,8 +528,8 @@ #ifndef __cpp_concepts # error "__cpp_concepts" -#elif __cpp_concepts != 201907 -# error "__cpp_concepts != 201907" +#elif __cpp_concepts != 202002 +# error "__cpp_concepts != 202002" #endif #ifndef __cpp_using_enum diff --git a/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C b/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C index 3239df824fc..c65ea6bf48a 100644 --- a/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C +++ b/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C @@ -134,8 +134,8 @@ #ifndef __cpp_constexpr # error "__cpp_constexpr" -#elif __cpp_constexpr != 201907 -# error "__cpp_constexpr != 201907" +#elif __cpp_constexpr != 202002 +# error "__cpp_constexpr != 202002" #endif #ifndef __cpp_decltype_auto @@ -528,8 +528,8 @@ #ifndef __cpp_concepts # error "__cpp_concepts" -#elif __cpp_concepts != 201907 -# error "__cpp_concepts != 201907" +#elif __cpp_concepts != 202002 +# error "__cpp_concepts != 202002" #endif #ifndef __cpp_using_enum