Ap |void* |regdupe_internal|NN const regexp* r|NN CLONE_PARAMS* param
#endif
Ap |regexp*|pregcomp |NN char* exp|NN char* xend|NN PMOP* pm
+Ap |regexp*|re_compile |NN char* exp|NN char* xend|NN PMOP* pm
Ap |char* |re_intuit_start|NN regexp* prog|NULLOK SV* sv|NN char* strpos \
|NN char* strend|U32 flags \
|NULLOK struct re_scream_pos_data_s *data
#define regdupe_internal Perl_regdupe_internal
#endif
#define pregcomp Perl_pregcomp
+#define re_compile Perl_re_compile
#define re_intuit_start Perl_re_intuit_start
#define re_intuit_string Perl_re_intuit_string
#define regexec_flags Perl_regexec_flags
#define regdupe_internal(a,b) Perl_regdupe_internal(aTHX_ a,b)
#endif
#define pregcomp(a,b,c) Perl_pregcomp(aTHX_ a,b,c)
+#define re_compile(a,b,c) Perl_re_compile(aTHX_ a,b,c)
#define re_intuit_start(a,b,c,d,e,f) Perl_re_intuit_start(aTHX_ a,b,c,d,e,f)
#define re_intuit_string(a) Perl_re_intuit_string(aTHX_ a)
#define regexec_flags(a,b,c,d,e,f,g,h) Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h)
Perl_reg_stringify
Perl_regdupe_internal
Perl_pregcomp
+Perl_re_compile
Perl_re_intuit_start
Perl_re_intuit_string
Perl_regexec_flags
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
+PERL_CALLCONV regexp* Perl_re_compile(pTHX_ char* exp, char* xend, PMOP* pm)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+
PERL_CALLCONV char* Perl_re_intuit_start(pTHX_ regexp* prog, SV* sv, char* strpos, char* strend, U32 flags, struct re_scream_pos_data_s *data)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3)
extern const struct regexp_engine my_reg_engine;
#define RE_ENGINE_PTR &my_reg_engine
#endif
-/* these make a few things look better, to avoid indentation */
-#define BEGIN_BLOCK {
-#define END_BLOCK }
regexp *
Perl_pregcomp(pTHX_ char *exp, char *xend, PMOP *pm)
GET_RE_DEBUG_FLAGS_DECL;
DEBUG_r(if (!PL_colorset) reginitcolors());
#ifndef PERL_IN_XSUB_RE
- BEGIN_BLOCK
+ {
/* Dispatch a request to compile a regexp to correct
regexp engine. */
HV * const table = GvHV(PL_hintgv);
return CALLREGCOMP_ENG(eng, exp, xend, pm);
}
}
- END_BLOCK
+ }
#endif
- BEGIN_BLOCK
+ return Perl_re_compile(aTHX_ exp, xend, pm);
+}
+
+regexp *
+Perl_re_compile(pTHX_ char *exp, char *xend, PMOP *pm)
+{
+ dVAR;
register regexp *r;
register regexp_internal *ri;
regnode *scan;
int restudied= 0;
RExC_state_t copyRExC_state;
#endif
+ GET_RE_DEBUG_FLAGS_DECL;
if (exp == NULL)
FAIL("NULL regexp argument");
PerlIO_printf(Perl_debug_log, "\n");
});
return(r);
- END_BLOCK
}
#undef CORE_ONLY_BLOCK
-#undef END_BLOCK
#undef RE_ENGINE_PTR
#ifndef PERL_IN_XSUB_RE