https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118499
--- Comment #18 from kargls at comcast dot net --- On 1/17/25 10:17, anlauf at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118499 > > --- Comment #17 from anlauf at gcc dot gnu.org --- > > As it is not clear what is the type of (2u * 2), or (1 + 1u), it makes > sense to let the user apply a conversion. > After I sent my last reply, I started to think about implicit type conversion, and indeed 'unsigned op integer' and 'integer op unsigned' becomes problematic. If the bit-size of the operands is the same, then conversion of 'integer' to 'unsigned' seems appropriate as 'integer' is a subset of 'unsigned'. However, there seems to be no good choice if the bit-sizes differ. So, I've come around to agreeing with Harald.