In the current coverage mapping implementation, we terminate the current region and start a zero region when we hit a nonreturn function. However, for logical OR, the second operand is not executed if the first operand evaluates to true. If the nonreturn function is called in the right side of logical OR and the left side of logical OR is TRUE, we should not start a zero GapRegionCounter. This will also apply to VisitAbstractConditionalOperator.
The following issues are fixed by this patch:
For completeness, can you add following two tests: