in reply to Re^6: Bidirectional lookup algorithm? (Judy)
in thread Bidirectional lookup algorithm? (Updated: further info.)

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