ahatanak wrote: > unsigned int foo(unsigned char x) > { > return ~(1<<x); // warning: implicit conversion loses integer precision: > 'int' to 'unsigned int' > } > ```
Could you help me understand why clang is emitting the warning? Isn't it semantically equivalent to the following code? ``` unsigned int foo(unsigned char x) { int i = ~(1<<x); // no -Wimplicit-int-conversion warning. return I; // no -Wimplicit-int-conversion warning. } ``` https://github.com/llvm/llvm-project/pull/126846 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits