[PATCH] D44559: [Sema] Wrong width of result of mul operation
Aaron Ballman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 16 11:57:38 PDT 2018
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
More information about the llvm-commits
mailing list