There are probably missing parentheses in the
else if (!arrayisdesc[idx] == 1)
conditional expression above. It is at line 2408 of sexp.c as of libgcrypt-1.6.2
release.
Without the parentheses the condition does not make sense.
I found it by inspecting the build logs.