On 12/1/21 13:01, Robbie Harwood wrote:
The reason for this issue is that we are not building with DEBUG set and this in turn means that the assert() that reads the value of the variable match_last is being processed out.
Could you explain what goes wrong? regexec_internal.h does this:
#if defined DEBUG && DEBUG != 0 # include <assert.h> # define DEBUG_ASSERT(x) assert (x) #else # define DEBUG_ASSERT(x) assume (x) #endif
so the later 'DEBUG_ASSERT (match_last != -1);' expands to 'assume (match_last != -1);'. And verify.h defines 'assume(R)' to evaluate R so match_last is used there (unless you're using Microsoft's compiler in which case it is equivalent to '__assume (R)'; are you having problems with Microsoft's compiler?).