On Mon, Apr 27, 2015 at 10:05 AM, koneu <kone...@googlemail.com> wrote: > On April 27, 2015 9:58:37 AM CEST, "Roberto E. Vargas Caballero" > <k...@shike2.com> wrote: >> >>> >>> GCC and Clang define long as 64-bits by default for x86_64, AArch64, >>> and many other 64-bit target architectures, which is wasteful for >>> Unicode code points. >> >>Uhmmm, so do you propose don't use long arrays ever? because in >>some implementations long may be 4, but in others may be >>8. We also should forbid int arrays for the same reason. >>Maybe we should send a proposal to the C commite with this >>proposal. >> >>Regards, > > Yes, the "good old types" are not very specific about their length. > That is why someone previously proposed stdintint.h's uint32_t for Unicode in > st.
For what it's worth, I agree with this approach. uint32_t is guaranteed (since C99) to be just the right size to hold all Unicode points (as well as their UTF-8 representation) without wasting (too much) space.