]> pd.if.org Git - pdclib/blobdiff - functions/stdio/printf_testcases.incl
Better size-safe checking for integer widths.
[pdclib] / functions / stdio / printf_testcases.incl
index 432d1e2e78fa38c787785e4bd5597604e7e660c4..a421ca669116ed7a8e287e83cf28c1c928747b51 100644 (file)
@@ -1,18 +1,18 @@
     {
 
-#if UINT_MAX / 0xffffu == 1
+#if UINT_MAX >> 15 == 1
 #define _PDCLIB_UINT_DIG 5
 #define _PDCLIB_INT_DIG  5
 #define _PDCLIB_INT_HEXDIG FFFF
 #define _PDCLIB_INT_hexdig ffff
 #define _PDCLIB_INT_OCTDIG 177777
-#elif UINT_MAX / 0xffffffffu == 1
+#elif UINT_MAX >> 31 == 1
 #define _PDCLIB_UINT_DIG 10
 #define _PDCLIB_INT_DIG  10
 #define _PDCLIB_INT_HEXDIG FFFFFFFF
 #define _PDCLIB_INT_hexdig ffffffff
 #define _PDCLIB_INT_OCTDIG 37777777777
-#elif UINT_MAX / 0xffffffffffffffffu == 1
+#elif UINT_MAX >> 63 == 1
 #define _PDCLIB_UINT_DIG 20
 #define _PDCLIB_INT_DIG  19
 #define _PDCLIB_INT_HEXDIG FFFFFFFFFFFFFFFF
 #error Unsupported width of 'int' (neither 16, 32, nor 64 bit).
 #endif
 
-#if ULONG_MAX / 0xfffffffful == 1
+#if ULONG_MAX >> 31 == 1
 #define _PDCLIB_ULONG_DIG 10
 #define _PDCLIB_LONG_DIG  10
-#elif ULONG_MAX / 0xfffffffffffffffful == 1
+#elif ULONG_MAX >> 63 == 1
 #define _PDCLIB_ULONG_DIG 20
 #define _PDCLIB_LONG_DIG  19
 #else
 #error Unsupported width of 'long' (neither 32 nor 64 bit).
 #endif
 
-#if ULLONG_MAX / 0xffffffffffffffffull == 1
+#if ULLONG_MAX >> 63 == 1
 #define _PDCLIB_ULLONG_DIG 20
 #define _PDCLIB_LLONG_DIG  19
-#elif ULLONG_MAX / 0xffffffffffffffffffffffffffffffffull == 1
+#elif ULLONG_MAX >> 127 == 1
 #define _PDCLIB_ULLONG_DIG 38
 #define _PDCLIB_LLONG_DIG  38
 #else