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

--- Comment #19 from Kang-Che Sung <Explorer09 at gmail dot com> ---
(In reply to Alejandro Colomar from comment #17)
> 
> There are less compilers than programs that use it, so there will be less
> points of failure if this is implemented in the compiler instead of in each
> program that uses it.
> 

I personally don't like when there is an "oligopoly" on the compilers (C and
C++ should have a less centralized ecosystem than Java or Python), but this is
not my call. If proprietary compilers like MSVC also like this to be
standardized, then I have nothing to judge.


> The type is still _Bool in C23.  bool is a predefined macro.

I have a copy of N3220 working draft for reference.

In section 6.4.1 "Keywords", "bool" "true" and "false" are listed as keywords.
Section 6.4.4.6 "Predefined constants" describes the "true" and "false"
keywords.
Section 6.7.3 "Type specifiers" contains "bool". (It's no longer "_Bool".)

I think I've made all my arguments. Except here I am going to correct your
knowledge about "bool" and "_Bool". in C23 "bool" is now a keyword and no
longer a macro. "_Bool" and <stdbool.h> are kept for backward compatibility.

Reply via email to