EiT |void |invlist_iterfinish|NN SV* invlist
#endif
#if defined(PERL_IN_REGCOMP_C)
+ERS |REGEXP*|re_op_compile_wrapper|NN SV * const pattern|U32 orig_rx_flags|const U32 pm_flags
EiRT |bool |invlist_is_iterating|NN SV* const invlist
EiR |SV* |invlist_contents|NN SV* const invlist \
|const bool traditional_style
#define parse_lparen_question_flags(a) S_parse_lparen_question_flags(aTHX_ a)
#define parse_uniprop_string(a,b,c,d,e,f,g,h,i) Perl_parse_uniprop_string(aTHX_ a,b,c,d,e,f,g,h,i)
#define populate_ANYOF_from_invlist(a,b) S_populate_ANYOF_from_invlist(aTHX_ a,b)
+#define re_op_compile_wrapper(a,b,c) S_re_op_compile_wrapper(aTHX_ a,b,c)
#define reg(a,b,c,d) S_reg(aTHX_ a,b,c,d)
#define reg2Lanode(a,b,c,d) S_reg2Lanode(aTHX_ a,b,c,d)
#define reg_node(a,b) S_reg_node(aTHX_ a,b)
#define PERL_ARGS_ASSERT_RE_CROAK2 \
assert(pat1); assert(pat2)
+STATIC REGEXP* S_re_op_compile_wrapper(pTHX_ SV * const pattern, U32 orig_rx_flags, const U32 pm_flags)
+ __attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_RE_OP_COMPILE_WRAPPER \
+ assert(pattern)
+
STATIC regnode_offset S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth);
#define PERL_ARGS_ASSERT_REG \
assert(pRExC_state); assert(flagp)
REGEXP *
Perl_re_compile(pTHX_ SV * const pattern, U32 rx_flags)
{
- SV *pat = pattern; /* defeat constness! */
PERL_ARGS_ASSERT_RE_COMPILE;
+ return re_op_compile_wrapper(pattern, rx_flags, 0);
+}
+
+REGEXP *
+S_re_op_compile_wrapper(pTHX_ SV * const pattern, U32 rx_flags, const U32 pm_flags)
+{
+ SV *pat = pattern; /* defeat constness! */
+
+ PERL_ARGS_ASSERT_RE_OP_COMPILE_WRAPPER;
+
return Perl_re_op_compile(aTHX_ &pat, 1, NULL,
#ifdef PERL_IN_XSUB_RE
&my_reg_engine,
#else
&PL_core_reg_engine,
#endif
- NULL, NULL, rx_flags, 0);
+ NULL, NULL, rx_flags, pm_flags);
}