I know you're fond of assembly so "H" stands for "hexadecimal"... but that's 17 nibbles so I don't think it's valid on most platforms...
But preprocessor requires all arithmetic take place in a common signed or unsigned type matching [u]intmax_t...
-
-
As I said, the only real issue is around intmax.
-
Even without stdint.h and intmax_t, though, you'd run into the same problem with consistently defining what's supposed to happen at the preprocessor level...
-
Yes. It breaks a whole mess of formal rules, but almost no real code is affected.
-
Clearly some of us do more awful things with the preprocessor than others... ;-)
-
I inserted the "almost" just for you.
-
See http://git.musl-libc.org/cgit/musl/tree/include/limits.h?id=v1.1.19#n10 …, which depends on I-think-likely-wrong behavior by gcc and other compilers of treating char constants as uintmax_t rather than intmax_t if char is unsigned.
-
I should probably replace with
#if '\xff' > 0, no? EXAMPLE 2 under 6.4.4.4 explicitly blesses this usage, I think. -
Wait, so the reason we don't have uint128_t/int128_t is because uintmax_t/intmax_t??
- 6 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
