aaron.ballman added a comment. In https://reviews.llvm.org/D44559#1040398, @craig.topper wrote:
> gcc also warns for this > > short foo(char a) { > > return a * a; > > } > > Despite the fact that the char would be promoted to int, the upper bits are > just sign bits and the multiply result still fits in a short. But it *should* warn if the underlying char type is unsigned, because 255 * 255 = 65025 which is too large to fit into a signed short. Repository: rC Clang https://reviews.llvm.org/D44559 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits