Problem: regexp.match broken on ARM64
Solution: do not cast value.n to Bool before running logical and/or/not operations. Casting a negative double to unsigned int is undefined behaviour, and while on x86 it happens to do the right thing, on ARM it is broken and "! -1" evaluates as true. According to the C standard, logical operations are done by comparing each operand to 0 or 0.0f in case of floating point, so the cast is not necessary.
parent
169bdede
Please register or sign in to comment