[Bug target/68456] UINT32_TYPE is long unsigned for 32bit targets
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 20 11:56:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68456
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Yulia Koval from comment #0)
> This problem causes strange warnings, for example in printf("%u...", if this
> type is not overriden somewhere in the library:
> ": format '%u' expects argument of type 'unsigned int', but argument 2 has
> type 'uint32_t {aka long unsigned int}' "
Why are you using %u with a uint32_t ? That is not valid C.
> I also tried to build a newlib toolchain without this feature and it worked
> ok for me. This problem was found as a difference between gcc and llvm
> behavior.
That doesn't make it a bug. It is unspecified what type uint32_t is a synonym
for, the only requirement is that it's 32-bits.
More information about the Gcc-bugs
mailing list