One test had a pattern with a (?:...)? construction split across two lines,
specifically enclosing the newline at the end of a line, and the line that
followed.
When perl is built with -DPERL_NO_COW or -DPERL_OLD_COPY_ON_WRITE the test's
do_test() driver routine would remove the second line, which included the
closing ')?', leaving a an invalid regex. The solution is to remove the
(?: )? completely, as the driver routine's line removal has the same intent
as the (?: )? construction.
FLAGS = \\(PADMY,POK,(?:IsCOW,)?pPOK\\)
PV = $ADDR "good"\\\0
CUR = 4
- LEN = \d+(?:
- COW_REFCNT = 1)?
+ LEN = \d+
+ COW_REFCNT = 1
');
}