Quuxplusone added a comment. In D63423#2732152 <https://reviews.llvm.org/D63423#2732152>, @hvdijk wrote:
> It's bad enough that this warns for > > #define A 2 > int f() { return A ^ 1; } > > where as far as the users of A are concerned... I see how this warning is arguably overzealous in the //very special case// of "raising" to the constant `1` (since nobody would ever write that by accident). However, if the user of A wants to indicate that they understand this is bitwise-xor, they can simply change the body of their `f` to `return A ^ 0x1;` — hex notation suppresses the warning. (Changing the definition of `A` as well is perhaps a good idea but not technically required.) IMO this is good enough and we should leave it. (What do you think, having seen the `A ^ 0x1` workaround? Does that sufficiently address your needs?) > [...] I'm not seeing from the previous discussion whether this case was based > on real world programmer errors or not The description links to a couple of tweets showing examples from the wild: https://twitter.com/jfbastien/status/1139298419988549632 https://twitter.com/mikemx7f/status/1139335901790625793 Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits