Funny about the JU_LEASTBYTESMASK macro—it still doesn't appear quite right
Yes, and it seems to have some involvement in the errors that kill the build.
In JudyInsArray.c we have:
static Word_t subexp_mask[] = {
0,
~cJU_POP0MASK(1),
~cJU_POP0MASK(2),
~cJU_POP0MASK(3),
#ifdef JU_64BIT
~cJU_POP0MASK(4),
~cJU_POP0MASK(5),
~cJU_POP0MASK(6),
~cJU_POP0MASK(7),
#endif
There's no problem with the first 5 elements listed there, but in relation to ~cJU_POP0MASK(5), ~cJU_POP0MASK(6) and ~cJU_POP0MASK(7) we get the error that they are not constant expressions ("initializer element is not constant"), thus breaking C's rules.
And in JudyCommon/JudyPrivateBranch.h we find:
#define cJU_POP0MASK(cPopBytes) JU_LEASTBYTESMASK(cPopBytes)
Cheers, Rob |