This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add, and use, some RXp_FOO() variants of RX_FOO()
authorDavid Mitchell <davem@iabyn.com>
Fri, 21 Jul 2017 16:07:51 +0000 (17:07 +0100)
committerDavid Mitchell <davem@iabyn.com>
Thu, 27 Jul 2017 10:30:22 +0000 (11:30 +0100)
commit196a02af144b943f8fe763deb4c7db0a06348e57
treefc48236986cf0372780427e3565939f93dfd0e8b
parentea0673eedc20f778f2cefa666a956a24320bcad3
add, and use, some RXp_FOO() variants of RX_FOO()

For various  RX_FOO() macros, add a RXp_FOO() variant, in such a way that
the original macro is now defined in terms of

    #define RX_FOO(rx_sv)  (RXp_FOO(ReANY(rx_sv)))

(This is a pre-existing convention; this commit just makes a larger subset
of the RX_() macros have an RXp_() variant).

Then use those macros in various pp_hot.c and regexec.c functions like
pp_match() and regexec_flags(), which already, or added via this commit,
have this line near the start:

    regexp *prog = ReANY(rx);

This avoids having to do multiple ReANY()'s, which is important as this
macro now includes a conditional in its expression (to cope with
PVLV-as-REGEX)..
pp_hot.c
regexec.c
regexp.h