[vbox-dev] [PATCH 2/8] Fix an implicit conversion from pointer to bool
Jung-uk Kim
jkim at FreeBSD.org
Thu Mar 26 17:49:39 UTC 2015
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 03/26/2015 04:51, Frank Mehnert wrote:
> Hi,
>
> On Friday 13 March 2015 16:56:56 Jung-uk Kim wrote:
>> This fix an implicit conversion from pointer to bool.
>
> why is this patch necessary? An expression like
>
> if (pointer) { }
>
> is completely valid and no compiler should warn about it. It tests
> if the pointer has a value different from NULL.
Pointer is NOT bool. Actually, the pointer is *implicitly* converted
to bool type here and compiler can warn about it. Excerpt from C++11:
4.12 Boolean conversions
A prvalue of arithmetic, unscoped enumeration, pointer, or pointer to
member type can be converted to a prvalue of type bool. A zero value,
null pointer value, or null member pointer value is converted to
false; any other value is converted to true. A prvalue of type
std::nullptr_t can be converted to a prvalue of type bool; the
resulting value is false.
> Would
>
> - || ( (a_pVCpu) /*!= NULL*/ \ + || ( a_pVCpu
> \
>
> fix the compiler warning as well?
No, I don't think so.
Jung-uk Kim
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAEBCAAGBQJVFEasAAoJEHyflib82/FGx2QH+QFvlUHYOpr7XvLgElyYMuQu
hrm+ycpPH54xXf+zb9XGCnbLl4OBwil0Pe4SbLQ1W6feX2PufIcRaZmPfytUlE0W
LHLAaFboeRTEBjbzfpqfDEADHsD4pEDFwp1zIZsL63snmqzdIyXwA47MPxMBmGLO
/0KjHWbfUZ2crQZ4gKCgZDNvf4H43bRtDD8cF9D4YYKrRxpCc8jDTFThS05PcxkJ
1+i2LDCSAkRk/JrRpw2TLAjhDi3Bxvdbi7Hqg2MFh7j6GVaSatsqzuN5klQGTblt
JJqsc9HfqfKHsOCWHti0WnUgmRguS2qAvGaIoP8NQ2UGArOWTii5GTTK9HOTmMA=
=Dp1C
-----END PGP SIGNATURE-----
More information about the vbox-dev
mailing list