alexfh accepted this revision. alexfh added a comment. This revision is now accepted and ready to land.
LG ================ Comment at: docs/clang-tidy/checks/readability-implicit-bool-conversion.rst:77-78 -- boolean expression/literal to integer, +- boolean expression/literal to integer (conversion from boolean to a single + bit bitfield is explicitly allowed), ---------------- malcolm.parsons wrote: > aaron.ballman wrote: > > I think it should only be allowed if the bit-field type is unsigned; signed > > bit-fields with a single bit are inherently not portable because you don't > > know if that bit represents a sign bit or a value bit (imagine a sign and > > magnitude integer representation). > > > > C++20 is changing this by standardizing on two's complement, but earlier > > versions of C++ (and currently, all versions of C) are still impacted, so > > another approach is to gate this on the language standard mode that's in > > effect. > I think it's the responsibility of a compiler using sign and magnitude > representation to warn about signed single bit bitfields. I agree with Malcolm's argument. But if the concern is practical (i.e. if there's a user of this check, who's working with such compiler), we can add an option to enable the warning in this case. Any objections? Repository: rCTE Clang Tools Extra CHANGES SINCE LAST ACTION https://reviews.llvm.org/D54941/new/ https://reviews.llvm.org/D54941 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits