aaron.ballman added a comment. In https://reviews.llvm.org/D44559#1044639, @rjmccall wrote:
> In https://reviews.llvm.org/D44559#1044186, @avt77 wrote: > > > >> In https://reviews.llvm.org/D44559#1040799, @rjmccall wrote: > > >> > > >>> I think we're correct not to warn here and that GCC/ICC are being > > >>> noisy. The existence of a temporary promotion to a wider type doesn't > > >>> justify warning on arithmetic between two operands that are the same > > >>> size as the ultimate result. It is totally fair for users to think of > > >>> this operation as being "closed" on the original type. > > >> > > >> > > >> Could you please clarify, are you saying that PR35409 > > >> <https://bugs.llvm.org/show_bug.cgi?id=35409> is not a bug, and clang > > >> should continue to not warn in those cases? > > > > > > Correct. > > > > Does it mean we should abandon this revision? On the other hand it's a real > > bug, isn't it? > > > Not as I see it, no. Do you see this code as having a bug when `a` is >= 182? short foo(unsigned char a) { return a * a; } (If you don't like seeing `unsigned char` you can imagine it was spelled as `uint8_t`.) https://reviews.llvm.org/D44559 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits