rsmith added a comment.

I think we can and should do better about false positives here. If you move 
this check to SemaChecking, you can produce the warning in a context where you 
know what the final type is -- I don't think there's any reason to warn if the 
final type is signed and no wider than the promoted type of the negation.

I think we should also not warn when the negation is an operand of a & or | 
operator whose width is no greater than the promoted type of the negation, 
because -power_of_2 is an idiomatic way to form a mask.


https://reviews.llvm.org/D52137



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to