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

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

https://gcc.gnu.org/g:365202625d2f2d6694dba889ca67498fefb59c68

commit r13-2167-g365202625d2f2d6694dba889ca67498fefb59c68
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Wed Aug 24 09:55:57 2022 +0200

    preprocessor: Implement C++23 P2437R1 - Support for #warning [PR106646]

    On Thu, Aug 18, 2022 at 11:02:44PM +0000, Joseph Myers wrote:
    > ISO C2x standardizes the existing #warning extension.  Arrange
    > accordingly for it not to be diagnosed with -std=c2x -pedantic, but to
    > be diagnosed with -Wc11-c2x-compat.

    And here is the corresponding C++ version.
    Don't pedwarn about this for C++23/GNU++23 and tweak the diagnostics
    for C++ otherwise, + testsuite coverage.
    The diagnostic wording is similar e.g. to the #elifdef diagnostics.

    2022-08-24  Jakub Jelinek  <ja...@redhat.com>

            PR c++/106646
            * init.cc: Implement C++23 P2437R1 - Support for #warning.
            (lang_defaults): Set warning_directive for GNUCXX23 and CXX23.
            * directives.cc (directive_diagnostics): Use different wording of
            #warning pedwarn for C++.

            * g++.dg/cpp/warning-1.C: New test.
            * g++.dg/cpp/warning-2.C: New test.
            * g++.dg/cpp/warning-3.C: New test.

Reply via email to