C++ Logo

std-discussion

Advanced search

Re: What makes bool{2} ill-formed?

From: Gennaro Prota <gennaro.prota_at_[hidden]>
Date: Fri, 7 Aug 2020 19:03:28 +0200
On Thu, Aug 6, 2020, 22:37 Johannes Schaub <schaub.johannes_at_[hidden]>
wrote:

>
>
> Am Do., 6. Aug. 2020 um 22:11 Uhr schrieb Gennaro Prota <
> gennaro.prota_at_[hidden]>:
>
>> On Thu, Aug 6, 2020, 21:59 Johannes Schaub via Std-Discussion <
>> std-discussion_at_[hidden]> wrote:
>> [...]
>>
>>> I made an issue report years ago about this, and the discussion
>>> unfortunately ended up being about whether 'false' is a valid null pointer
>>> constant, rather than more generally whether the set of values of bool
>>> actually _is_ {0, 1}.
>>> http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#1448 .
>>>
>>
>> To me, the text of your report seems to be focused on that. It's not like
>> it "ended up" there.
>>
>>
> It's classified as a closed issue report, because "The resolution of issue
> 903 <http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#903>
> makes it clear that false is not a null pointer constant." . But my
> initial report was also focused on [...]
>

Well, it's not that important, but the text I see is:

---
Although 6.9.1 [basic.fundamental] paragraph 7 classifies bool as an
integral type, the values of true and false are not specified — only that
the results of converting them to another integral type are 1 and 0,
respectively. This omission leaves unspecified whether false is an integral
null pointer constant or not.
---
And that seems to focus on whether false is a null pointer constant. If the
text of your original report was different, I don't know.
P.S.: sorry for any bad formatting... It's a pain from the phone :-(
-- 
--
.:: Gennaro Prota ::.
.:: https://about.me/gennaro.prota ::.
>

Received on 2020-08-07 12:07:04