a6891e0313
On 64-bit systems the most notable difference is due to longs and pointers being 64-bit wide. Therefore there must be a distinction between ints and longs. This patch: - Make support functions take a long rather than an int as this can carry both longs and ints just fine. - Use unsigned values in _to_x() to cover the full unsigned range and avoid sign-extending big values. Negative values are already converted to unsigned after printing the minus sign. This also makes division and modulus operations slightly faster. - Remove excessive casts around va_arg() and use proper types with it. - Implement the l and z length modifiers as they're significant on 64-bit targets. While at it, throw in the z modifier as well. Since they all come down to 32-bit values on 32-bit targets, the added code should get optimized away as duplicate by the compiler in that case. Signed-off-by: Nicolas Pitre <npitre@baylibre.com> |
||
---|---|---|
.. | ||
cmsis_rtos_v1 | ||
cmsis_rtos_v2 | ||
gui | ||
libc | ||
os | ||
posix | ||
updatehub | ||
CMakeLists.txt | ||
Kconfig |