aaron.ballman added a comment.
In https://reviews.llvm.org/D44559#1040435, @craig.topper wrote:
> Fair point, what is the default signedness of char?
It's decided by target architecture. ARM and PPC often use unsigned, x86 often
uses signed.
> FWIW, all these warn in gcc. So they seem to be just checking purely based
> on the int promotion without any concern for the original size?
>
> unsigned short foo(unsigned char a) {
> return a * a;
> }
>
> signed short bar(signed char a) {
> return a * a;
> }
>
> signed short foo(signed char a) {
> return a + a;
> }
>
> unsigned short foo(unsigned char a) {
> return a + a;
> }
Yeah, this does seem to be just warning about arithmetic involving promotions,
which seems rather chatty but is aligned with MISRA rule 10.6.
Repository:
rC Clang
https://reviews.llvm.org/D44559
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits