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.