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

--- Comment #29 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>:

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

commit r11-2985-gf049cda373d29ea1bce4065b24cbb392cdc5b172
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Sep 2 18:51:28 2020 +0100

    c++: Stop defining true, false and bool as macros in <stdbool.h>

    Since r216679 these macros have only been defined in C++98 mode, rather
    than all modes. That is permitted as a GNU extension because that header
    doesn't exist in the C++ standard until C++11, so we can make it do
    whatever we want for C++98. But as discussed in the PR c++/60304
    comments, these macros shouldn't ever be defined for C++.

    This patch removes the macro definitions for C++98 too.

    The new test already passed for C++98 (and the conversion is ill-formed
    in C++11 and later) so this new test is arguably unnecessary.

    gcc/ChangeLog:

            PR c++/60304
            * ginclude/stdbool.h (bool, false, true): Never define for C++.

    gcc/testsuite/ChangeLog:

            PR c++/60304
            * g++.dg/warn/Wconversion-null-5.C: New test.

Reply via email to