A unary minus operator was applied to an unsigned type - conversion from 64 Bit to 32 Bit
Marc Glisse
marc.glisse at inria.fr
Tue Sep 3 13:28:24 CEST 2024
On Tue, 3 Sep 2024, Vincent Lefevre wrote:
> Well, GCC also has warnings, such as -Wconversion (though it is
> currently broken), for suspicious code, which could be used together
> with -Werror.
Yes, but -Werror is not enabled by default.
> I think that the end user should be able to use such warnings for
> *his own code*. So, if possible, public header files should be written
> in such a way to avoid warnings provided by well-known compilers.
https://learn.microsoft.com/en-us/cpp/build/reference/external-external-headers-diagnostics?view=msvc-170
/external plays a role similar to -isystem with gcc/clang.
There are also various pragmas that can be used around the inclusion of
the header.
(For C++, gcc has become much worse than MSVC, its recent
optimization-based warnings have false positives all over the place and
are almost impossible to work around)
> I don't think that just adding a cast to avoid an implicit conversion
> can be regarded as obfuscating the code. On the contrary, IMHO,
> an implicit conversion that may change the value is some kind of
> obfuscation.
I am not opposed to adding the cast, I was mostly pointing out that the
-unsigned issue was well known and the developers declined to make a
change in the past.
--
Marc Glisse
More information about the gmp-bugs
mailing list