:
: flags are single letters with following meanings:
:
-: A Member of public API:
+: A Available fully everywhere (usually part of the public API):
:
: add entry to the list of exported symbols (unless x or m);
-: any doc entry goes in perlapi.pod rather than perlintern.pod
+: any doc entry goes in perlapi.pod rather than perlintern.pod. If no
+: documentation is furnished for this function, and M is also
+: specified, the function is not listed as part of the public API.
+: If M isn't specified and no documentation is furnished, the
+: function is listed in perlapi as existing and being undocumented
: makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
:
+: If the function is only exported for use in a public
+: macro, see X.
+:
: a Allocates memory a la malloc/calloc. Also implies "R":
:
: proto.h: add __attribute__malloc__
:
: b Binary backward compatibility; function is a macro
: but has also Perl_ implementation (which is exported); often
-: implemented in mathoms.c:
+: implemented in mathoms.c (whose compilation can be suppressed; see
+: INSTALL):
:
: add entry to the list of exported symbols;
: don't define PERL_ARGS_ASSERT_FOO
:
: proto.h: add __attribute__deprecated__
:
-: d Function has documentation in the source:
+: d Function has documentation (somewhere) in the source:
:
: enables 'no docs for foo" warning in autodoc.pl
:
: Should always be combined with "X" to be usable from dynamically
: loaded extensions.
:
-: f Function takes printf style format string, varargs:
+: f Function takes printf style format string, varargs (hence any entry that
+: would otherwise go in embed.h is suppressed):
:
: proto.h: add __attribute__format__ (or ...null_ok__)
:
:
: add entry to the list of exported symbols, unless x or m
:
+: This is often used for private functions that are used by public
+: macros. In those cases the macros must use the long form of the
+: name (Perl_blah(aTHX_ ...)).
+:
: x Not exported
:
: suppress entry in the list of exported symbols
EXp |void |av_reify |NN AV *av
ApdR |SV* |av_shift |NN AV *av
Apd |SV** |av_store |NN AV *av|I32 key|NULLOK SV *val
+AidR |I32 |av_top_index |NN AV *av
+AmpdR |I32 |av_tindex |NN AV *av
Apd |void |av_undef |NN AV *av
ApdoxM |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val
Apd |void |av_unshift |NN AV *av|I32 num
: croak()'s first parm can be NULL. Otherwise, mod_perl breaks.
Afprd |void |croak |NULLOK const char* pat|...
Aprd |void |vcroak |NULLOK const char* pat|NULLOK va_list* args
-Aprd |void |croak_no_modify
-Aprd |void |croak_xs_usage |NN const CV *const cv \
+Anprd |void |croak_no_modify
+Anprd |void |croak_xs_usage |NN const CV *const cv \
|NN const char *const params
-
+npr |void |croak_no_mem
+nroX |void |Perl_croak_memory_wrap
+nprX |void |croak_popstack
+#if defined(WIN32)
+norx |void |win32_croak_not_implemented|NN const char * fname
+#endif
#if defined(PERL_IMPLICIT_CONTEXT)
Afnrp |void |croak_nocontext|NULLOK const char* pat|...
Afnp |OP* |die_nocontext |NULLOK const char* pat|...
p |SV * |core_prototype |NULLOK SV *sv|NN const char *name \
|const int code|NULLOK int * const opnum
: Used in gv.c
-p |OP * |coresub_op |NN SV *coreargssv|const int code \
+p |OP * |coresub_op |NN SV *const coreargssv|const int code \
|const int opnum
: Used in sv.c
p |void |cv_ckproto_len_flags |NN const CV* cv|NULLOK const GV* gv\
|I32 klen_i32|const int action|NULLOK SV *val \
|const U32 hash
Apod |STRLEN |hv_fill |NN HV const *const hv
-Ap |void |hv_free_ent |NN HV *hv|NULLOK HE *entryK
+Ap |void |hv_free_ent |NN HV *hv|NULLOK HE *entry
Apd |I32 |hv_iterinit |NN HV *hv
ApdR |char* |hv_iterkey |NN HE* entry|NN I32* retlen
ApdR |SV* |hv_iterkeysv |NN HE* entry
ApR |I32 |is_lvalue_sub
: Used in cop.h
XopR |I32 |was_lvalue_sub
-ApPR |U32 |to_uni_upper_lc|U32 c
-ApPR |U32 |to_uni_title_lc|U32 c
-ApPR |U32 |to_uni_lower_lc|U32 c
-ApPR |bool |is_uni_alnum |UV c
-ApPR |bool |is_uni_idfirst |UV c
-ApPR |bool |is_uni_alpha |UV c
-ApPR |bool |is_uni_ascii |UV c
-ApPR |bool |is_uni_blank |UV c
-ApPR |bool |is_uni_space |UV c
-ApPR |bool |is_uni_cntrl |UV c
-ApPR |bool |is_uni_graph |UV c
-ApPR |bool |is_uni_digit |UV c
-ApPR |bool |is_uni_upper |UV c
-ApPR |bool |is_uni_lower |UV c
-ApPR |bool |is_uni_print |UV c
-ApPR |bool |is_uni_punct |UV c
-ApPR |bool |is_uni_xdigit |UV c
-Ap |UV |to_uni_upper |UV c|NN U8 *p|NN STRLEN *lenp
-Ap |UV |to_uni_title |UV c|NN U8 *p|NN STRLEN *lenp
+ADMpPR |U32 |to_uni_upper_lc|U32 c
+ADMpPR |U32 |to_uni_title_lc|U32 c
+ADMpPR |U32 |to_uni_lower_lc|U32 c
+ADMpPR |bool |is_uni_alnum |UV c
+ADMpPR |bool |is_uni_alnumc |UV c
+ADMpPR |bool |is_uni_idfirst |UV c
+ADMpPR |bool |is_uni_alpha |UV c
+ADMpPR |bool |is_uni_ascii |UV c
+ADMpPR |bool |is_uni_blank |UV c
+ADMpPR |bool |is_uni_space |UV c
+ADMpPR |bool |is_uni_cntrl |UV c
+ADMpPR |bool |is_uni_graph |UV c
+ADMpPR |bool |is_uni_digit |UV c
+ADMpPR |bool |is_uni_upper |UV c
+ADMpPR |bool |is_uni_lower |UV c
+ADMpPR |bool |is_uni_print |UV c
+ADMpPR |bool |is_uni_punct |UV c
+ADMpPR |bool |is_uni_xdigit |UV c
+AMp |UV |to_uni_upper |UV c|NN U8 *p|NN STRLEN *lenp
+AMp |UV |to_uni_title |UV c|NN U8 *p|NN STRLEN *lenp
+iDMPR |bool |isIDFIRST_lazy |NN const char* p
+iDMPR |bool |isALNUM_lazy |NN const char* p
#ifdef PERL_IN_UTF8_C
sR |U8 |to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp
#endif
#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
p |UV |_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s
#endif
-Ap |UV |to_uni_lower |UV c|NN U8 *p|NN STRLEN *lenp
-Amp |UV |to_uni_fold |UV c|NN U8 *p|NN STRLEN *lenp
+AMp |UV |to_uni_lower |UV c|NN U8 *p|NN STRLEN *lenp
+AMmp |UV |to_uni_fold |UV c|NN U8 *p|NN STRLEN *lenp
AMp |UV |_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|const U8 flags
-ApPR |bool |is_uni_alnum_lc|UV c
-ApPR |bool |is_uni_idfirst_lc|UV c
-ApPR |bool |is_uni_alpha_lc|UV c
-ApPR |bool |is_uni_ascii_lc|UV c
-ApPR |bool |is_uni_space_lc|UV c
-ApPR |bool |is_uni_cntrl_lc|UV c
-ApPR |bool |is_uni_graph_lc|UV c
-ApPR |bool |is_uni_digit_lc|UV c
-ApPR |bool |is_uni_upper_lc|UV c
-ApPR |bool |is_uni_lower_lc|UV c
-ApPR |bool |is_uni_print_lc|UV c
-ApPR |bool |is_uni_punct_lc|UV c
-ApPR |bool |is_uni_xdigit_lc|UV c
+ADMpPR |bool |is_uni_alnum_lc|UV c
+ADMpPR |bool |is_uni_alnumc_lc|UV c
+ADMpPR |bool |is_uni_idfirst_lc|UV c
+AMpR |bool |_is_uni_perl_idcont|UV c
+AMpR |bool |_is_uni_perl_idstart|UV c
+ADMpPR |bool |is_uni_alpha_lc|UV c
+ADMpPR |bool |is_uni_ascii_lc|UV c
+ADMpPR |bool |is_uni_space_lc|UV c
+ADMpPR |bool |is_uni_blank_lc|UV c
+ADMpPR |bool |is_uni_cntrl_lc|UV c
+ADMpPR |bool |is_uni_graph_lc|UV c
+ADMpPR |bool |is_uni_digit_lc|UV c
+ADMpPR |bool |is_uni_upper_lc|UV c
+ADMpPR |bool |is_uni_lower_lc|UV c
+ADMpPR |bool |is_uni_print_lc|UV c
+ADMpPR |bool |is_uni_punct_lc|UV c
+ADMpPR |bool |is_uni_xdigit_lc|UV c
Anpd |bool |is_ascii_string|NN const U8 *s|STRLEN len
AnpdD |STRLEN |is_utf8_char |NN const U8 *s
Anpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
Anpd |bool |is_utf8_string |NN const U8 *s|STRLEN len
Anpdmb |bool |is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **ep
Anpd |bool |is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
-ApR |bool |is_utf8_alnum |NN const U8 *p
-ApR |bool |is_utf8_idfirst|NN const U8 *p
-ApR |bool |is_utf8_xidfirst|NN const U8 *p
-EXpR |bool |_is_utf8__perl_idstart|NN const U8 *p
-ApR |bool |is_utf8_idcont |NN const U8 *p
-ApR |bool |is_utf8_xidcont |NN const U8 *p
-ApR |bool |is_utf8_alpha |NN const U8 *p
-ApR |bool |is_utf8_ascii |NN const U8 *p
-ApR |bool |is_utf8_blank |NN const U8 *p
-ApR |bool |is_utf8_space |NN const U8 *p
-ApR |bool |is_utf8_perl_space |NN const U8 *p
-ApR |bool |is_utf8_perl_word |NN const U8 *p
-ApR |bool |is_utf8_cntrl |NN const U8 *p
-ApR |bool |is_utf8_digit |NN const U8 *p
-ApR |bool |is_utf8_posix_digit |NN const U8 *p
-ApR |bool |is_utf8_graph |NN const U8 *p
-ApR |bool |is_utf8_upper |NN const U8 *p
-ApR |bool |is_utf8_lower |NN const U8 *p
-ApR |bool |is_utf8_print |NN const U8 *p
-ApR |bool |is_utf8_punct |NN const U8 *p
-ApR |bool |is_utf8_xdigit |NN const U8 *p
-ApR |bool |is_utf8_mark |NN const U8 *p
-EXpR |bool |is_utf8_X_extend |NN const U8 *p
-EXpR |bool |is_utf8_X_regular_begin|NN const U8 *p
+AMpR |bool |_is_uni_FOO|const U8 classnum|const UV c
+AMpR |bool |_is_utf8_FOO|const U8 classnum|NN const U8 *p
+ADMpR |bool |is_utf8_alnum |NN const U8 *p
+ADMpR |bool |is_utf8_alnumc |NN const U8 *p
+ADMpR |bool |is_utf8_idfirst|NN const U8 *p
+ADMpR |bool |is_utf8_xidfirst|NN const U8 *p
+AMpR |bool |_is_utf8_perl_idcont|NN const U8 *p
+AMpR |bool |_is_utf8_perl_idstart|NN const U8 *p
+ADMpR |bool |is_utf8_idcont |NN const U8 *p
+ADMpR |bool |is_utf8_xidcont |NN const U8 *p
+ADMpR |bool |is_utf8_alpha |NN const U8 *p
+ADMpR |bool |is_utf8_ascii |NN const U8 *p
+ADMpR |bool |is_utf8_blank |NN const U8 *p
+ADMpR |bool |is_utf8_space |NN const U8 *p
+ADMpR |bool |is_utf8_perl_space |NN const U8 *p
+ADMpR |bool |is_utf8_perl_word |NN const U8 *p
+ADMpR |bool |is_utf8_cntrl |NN const U8 *p
+ADMpR |bool |is_utf8_digit |NN const U8 *p
+ADMpR |bool |is_utf8_posix_digit |NN const U8 *p
+ADMpR |bool |is_utf8_graph |NN const U8 *p
+ADMpR |bool |is_utf8_upper |NN const U8 *p
+ADMpR |bool |is_utf8_lower |NN const U8 *p
+ADMpR |bool |is_utf8_print |NN const U8 *p
+ADMpR |bool |is_utf8_punct |NN const U8 *p
+ADMpR |bool |is_utf8_xdigit |NN const U8 *p
+AMpR |bool |_is_utf8_mark |NN const U8 *p
+ADMpR |bool |is_utf8_mark |NN const U8 *p
: Used in perly.y
p |OP* |jmaybe |NN OP *o
: Used in pp.c
p |OP* |localize |NN OP *o|I32 lex
ApdR |I32 |looks_like_number|NN SV *const sv
Apd |UV |grok_bin |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
-#ifdef PERL_IN_DQUOTE_STATIC_C
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
EMsR |char |grok_bslash_c |const char source|const bool utf8|const bool output_warning
-EMsR |bool |grok_bslash_o |NN const char* s|NN UV* uv|NN STRLEN* len|NN const char** error_msg|const bool output_warning
-EMiR |bool |grok_bslash_x |NN const char* s|NN UV* uv|NN STRLEN* len|NN const char** error_msg|const bool output_warning
+EMsR |bool |grok_bslash_o |NN char** s|NN UV* uv \
+ |NN const char** error_msg \
+ |const bool output_warning \
+ |const bool strict \
+ |const bool silence_non_portable \
+ |const bool utf8
+EMiR |bool |grok_bslash_x |NN char** s|NN UV* uv \
+ |NN const char** error_msg \
+ |const bool output_warning \
+ |const bool strict \
+ |const bool silence_non_portable \
+ |const bool utf8
+EMsPR |char*|form_short_octal_warning|NN const char * const s \
+ |const STRLEN len
#endif
Apd |UV |grok_hex |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
Apd |int |grok_number |NN const char *pv|STRLEN len|NULLOK UV *valuep
p |int |magic_nextpack |NN SV *sv|NN MAGIC *mg|NN SV *key
p |U32 |magic_regdata_cnt|NN SV* sv|NN MAGIC* mg
p |int |magic_regdatum_get|NN SV* sv|NN MAGIC* mg
+:removing noreturn to silence a warning for this function resulted in no
+:change to the interpreter DLL image under VS 2003 -O1 -GL 32 bits
+#ifdef _MSC_VER
+p |int |magic_regdatum_set|NN SV* sv|NN MAGIC* mg
+#else
pr |int |magic_regdatum_set|NN SV* sv|NN MAGIC* mg
+#endif
p |int |magic_set |NN SV* sv|NN MAGIC* mg
p |int |magic_setarylen|NN SV* sv|NN MAGIC* mg
p |int |magic_cleararylen_p|NN SV* sv|NN MAGIC* mg
pX |I32 |my_stat_flags |NULLOK const U32 flags
Ap |char * |my_strftime |NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
#if defined(MYSWAP)
-ApPa |short |my_swap |short s
-ApPa |long |my_htonl |long l
-ApPa |long |my_ntohl |long l
+ApPR |short |my_swap |short s
+ApPR |long |my_htonl |long l
+ApPR |long |my_ntohl |long l
#endif
: Used in pp_ctl.c
p |void |my_unexec
p |REGEXP*|re_op_compile |NULLOK SV ** const patternp \
|int pat_count|NULLOK OP *expr \
|NN const regexp_engine* eng \
- |NULLOK REGEXP *VOL old_re \
+ |NULLOK REGEXP *old_re \
|NULLOK bool *is_bare_re \
|U32 rx_flags|U32 pm_flags
Ap |REGEXP*|re_compile |NN SV * const pattern|U32 orig_rx_flags
|NN char* strend|const U32 flags \
|NULLOK re_scream_pos_data *data
Ap |SV* |re_intuit_string|NN REGEXP *const r
-#if defined(PERL_IN_DQUOTE_STATIC_C)
-EiPR |I32 |regcurly |NN const char *s
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
+EiPR |I32 |regcurly |NN const char *s \
+ |const bool rbrace_must_be_escaped
#endif
Ap |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
|NN char *strend|NN char *strbeg|I32 minend \
Amd |I32 |sv_eq |NULLOK SV* sv1|NULLOK SV* sv2
Apd |I32 |sv_eq_flags |NULLOK SV* sv1|NULLOK SV* sv2|const U32 flags
Apd |void |sv_free |NULLOK SV *const sv
-: FIXME Used in SvREFCNT_dec() but only
-: if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-poMX |void |sv_free2 |NN SV *const sv
+poMX |void |sv_free2 |NN SV *const sv|const U32 refcnt
: Used only in perl.c
pd |void |sv_free_arenas
Apd |char* |sv_gets |NN SV *const sv|NN PerlIO *const fp|I32 append
EiM |void |invlist_set_previous_index|NN SV* const invlist|const IV index
EiM |void |invlist_trim |NN SV* const invlist
EiMR |SV* |invlist_clone |NN SV* const invlist
+EiMR |bool |invlist_is_iterating|NN SV* const invlist
EiMR |UV* |get_invlist_iter_addr |NN SV* invlist
EiMR |UV* |get_invlist_version_id_addr |NN SV* invlist
EiM |void |invlist_iterinit|NN SV* invlist
EsMR |bool |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
+EiM |void |invlist_iterfinish|NN SV* invlist
EiMR |UV |invlist_highest|NN SV* const invlist
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
EXMpR |SV* |_add_range_to_invlist |NULLOK SV* invlist|const UV start|const UV end
EXMp |void |_invlist_populate_swatch |NN SV* const invlist|const UV start|const UV end|NN U8* swatch
#endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C)
EXp |SV* |_core_swash_init|NN const char* pkg|NN const char* name \
|NN SV* listsv|I32 minbits|I32 none \
|NULLOK SV* invlist|NULLOK U8* const flags_p
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
EXMpR |SV* |_invlist_contents|NN SV* const invlist
EiMR |UV* |_get_invlist_len_addr |NN SV* invlist
EiMR |UV |_invlist_len |NN SV* const invlist
EXpMR |IV |_invlist_search |NN SV* const invlist|const UV cp
EXMpR |SV* |_get_swash_invlist|NN SV* const swash
EXMpR |HV* |_swash_inversion_hash |NN SV* const swash
+: Not used currently: EXMp |void |_invlist_dump |NN SV* const invlist|NN const char * const header
#endif
Ap |void |taint_env
Ap |void |taint_proper |NULLOK const char* f|NN const char *const s
p |U32 |parse_unicode_opts|NN const char **popt
Ap |U32 |seed
: Only used in perl.c
-pR |UV |get_hash_seed
+p |void |get_hash_seed |NN unsigned char * const seed_buffer
: Used in doio.c, pp_hot.c, pp_sys.c
p |void |report_evil_fh |NULLOK const GV *gv
: Used in doio.c, pp_hot.c, pp_sys.c
p |int |yyparse |int gramtype
: Only used in scope.c
p |void |parser_free |NN const yy_parser *parser
+#ifdef PERL_CORE
+p |void |parser_free_nexttoke_ops|NN yy_parser *parser \
+ |NN OPSLAB *slab
+#endif
#if defined(PERL_IN_TOKE_C)
s |int |yywarn |NN const char *const s|U32 flags
#endif
#endif
#if defined(PERL_IN_HV_C)
-s |void |hsplit |NN HV *hv
+s |void |hsplit |NN HV *hv|STRLEN const oldsize|STRLEN newsize
s |void |hfreeentries |NN HV *hv
-s |SV* |hv_free_ent_ret|NN HV *hv|NULLOK HE *entryK
+s |SV* |hv_free_ent_ret|NN HV *hv|NN HE *entry
sa |HE* |new_he
sanR |HEK* |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags
sn |void |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store
s |void |unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
sR |HEK* |share_hek_flags|NN const char *str|I32 len|U32 hash|int flags
rs |void |hv_notallowed |int flags|NN const char *key|I32 klen|NN const char *msg
-sn |struct xpvhv_aux*|hv_auxinit|NN HV *hv
+sn |U32|ptr_hash|PTRV u
+s |struct xpvhv_aux*|hv_auxinit|NN HV *hv
sM |SV* |hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \
|NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
|U32 hash
#if defined(PERL_IN_OP_C)
sRn |bool |is_handle_constructor|NN const OP *o|I32 numargs
sR |I32 |is_list_assignment|NULLOK const OP *o
-# ifdef USE_ITHREADS
-so |void |forget_pmop |NN PMOP *const o|U32 flags
-# else
-so |void |forget_pmop |NN PMOP *const o
-# endif
+s |void |forget_pmop |NN PMOP *const o
s |void |find_and_forget_pmops |NN OP *o
s |void |cop_free |NN COP *cop
s |OP* |modkids |NULLOK OP *o|I32 type
#endif
#if defined(PERL_IN_PP_HOT_C)
-s |void |do_oddball |NN HV *hash|NN SV **relem|NN SV **firstrelem
+s |void |do_oddball |NN SV **oddkey|NN SV **firstkey
sR |SV* |method_common |NN SV* meth|NULLOK U32* hashp
#endif
Es |STRLEN |reguni |NN const struct RExC_state_t *pRExC_state \
|UV uv|NN char *s
Es |regnode*|regclass |NN struct RExC_state_t *pRExC_state \
- |NN I32 *flagp|U32 depth
+ |NN I32 *flagp|U32 depth|const bool stop_at_1 \
+ |bool allow_multi_fold \
+ |const bool silence_non_portable \
+ |NULLOK SV** ret_invlist
+Es |bool|could_it_be_a_POSIX_class|NN struct RExC_state_t *pRExC_state
+Es |regnode*|handle_regex_sets|NN struct RExC_state_t *pRExC_state \
+ |NULLOK SV ** return_invlist \
+ |NN I32 *flagp|U32 depth \
+ |NN char * const oregcomp_parse
+Es |void|parse_lparen_question_flags|NN struct RExC_state_t *pRExC_state
Es |regnode*|reg_node |NN struct RExC_state_t *pRExC_state|U8 op
Es |UV |reg_recode |const char value|NN SV **encp
Es |regnode*|regpiece |NN struct RExC_state_t *pRExC_state \
|NN I32 *flagp|U32 depth
-Es |bool |grok_bslash_N |NN struct RExC_state_t *pRExC_state \
- |NULLOK regnode** nodep|NULLOK UV *valuep \
- |NN I32 *flagp|U32 depth|bool in_char_class
+Es |bool |grok_bslash_N |NN struct RExC_state_t *pRExC_state \
+ |NULLOK regnode** nodep|NULLOK UV *valuep \
+ |NN I32 *flagp|U32 depth|bool in_char_class \
+ |const bool strict
Es |void |reginsert |NN struct RExC_state_t *pRExC_state \
|U8 op|NN regnode *opnd|U32 depth
Es |void |regtail |NN struct RExC_state_t *pRExC_state \
|U32 flags|NULLOK regnode *val|U32 depth
EsRn |char * |regwhite |NN struct RExC_state_t *pRExC_state \
|NN char *p
+EsRn |char * |regpatws |NN struct RExC_state_t *pRExC_state \
+ |NN char *p|const bool recognize_comment
Ei |void |alloc_maybe_populate_EXACT|NN struct RExC_state_t *pRExC_state \
|NN regnode *node|NN I32 *flagp|STRLEN len \
|UV code_point
EsRn |U32 |add_data |NN struct RExC_state_t *pRExC_state|U32 n \
|NN const char *s
rs |void |re_croak2 |NN const char* pat1|NN const char* pat2|...
-Es |I32 |regpposixcc |NN struct RExC_state_t *pRExC_state|I32 value
-Es |void |checkposixcc |NN struct RExC_state_t *pRExC_state
+Ei |I32 |regpposixcc |NN struct RExC_state_t *pRExC_state \
+ |I32 value|const bool strict
Es |I32 |make_trie |NN struct RExC_state_t *pRExC_state \
|NN regnode *startbranch|NN regnode *first \
|NN regnode *last|NN regnode *tail \
#endif
#if defined(PERL_IN_REGEXEC_C)
+ERs |bool |isFOO_lc |const U8 classnum|const U8 character
+ERs |bool |isFOO_utf8_lc |const U8 classnum|NN const U8* character
ERs |I32 |regmatch |NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog
-ERs |I32 |regrepeat |NN const regexp *prog|NN char **startposp|NN const regnode *p|I32 max|int depth
+ERs |I32 |regrepeat |NN regexp *prog|NN char **startposp \
+ |NN const regnode *p|I32 max|int depth \
+ |bool is_utf8_pat
ERs |I32 |regtry |NN regmatch_info *reginfo|NN char **startposp
-ERs |bool |reginclass |NULLOK const regexp * const prog|NN const regnode * const n|NN const U8 * const p\
+ERs |bool |reginclass |NULLOK regexp * const prog|NN const regnode * const n|NN const U8 * const p\
|bool const utf8_target
-Es |CHECKPOINT|regcppush |NN const regexp *rex|I32 parenfloor
-Es |void |regcppop |NN regexp *rex
+Es |CHECKPOINT|regcppush |NN const regexp *rex|I32 parenfloor\
+ |U32 maxopenparen
+Es |void |regcppop |NN regexp *rex\
+ |NN U32 *maxopenparen_p
ERsn |U8* |reghop3 |NN U8 *s|I32 off|NN const U8 *lim
ERsM |SV* |core_regclass_swash|NULLOK const regexp *prog \
|NN const struct regnode *node|bool doinit \
|NULLOK SV **listsvp
-:not currently used EiR |bool |is_utf8_X_LV |NN const U8 *p
-EiR |bool |is_utf8_X_LVT |NN const U8 *p
#ifdef XXX_dmq
ERsn |U8* |reghop4 |NN U8 *s|I32 off|NN const U8 *llim \
|NN const U8 *rlim
#endif
ERsn |U8* |reghopmaybe3 |NN U8 *s|I32 off|NN const U8 *lim
-ERs |char* |find_byclass |NN regexp * prog|NN const regnode *c|NN char *s|NN const char *strend|NULLOK regmatch_info *reginfo
+ERs |char* |find_byclass |NN regexp * prog|NN const regnode *c \
+ |NN char *s|NN const char *strend \
+ |NULLOK regmatch_info *reginfo \
+ |bool is_utf_pat
Es |void |to_utf8_substr |NN regexp * prog
Es |bool |to_byte_substr |NN regexp * prog
ERs |I32 |reg_check_named_buff_matched |NN const regexp *rex \
s |SV* |tokeq |NN SV *sv
s |void |readpipe_override|
sR |char* |scan_const |NN char *start
+iR |SV* |get_and_check_backslash_N_name|NN const char* s \
+ |NN const char* const e
sR |char* |scan_formline |NN char *s
sR |char* |scan_heredoc |NN char *s
s |char* |scan_ident |NN char *s|NN const char *send|NN char *dest \
sR |char* |scan_inputsymbol|NN char *start
sR |char* |scan_pat |NN char *start|I32 type
sR |char* |scan_str |NN char *start|int keep_quoted \
- |int keep_delims|int re_reparse
+ |int keep_delims|int re_reparse \
+ |bool deprecate_escaped_matching
sR |char* |scan_subst |NN char *start
sR |char* |scan_trans |NN char *start
s |char* |scan_word |NN char *s|NN char *dest|STRLEN destlen \
|STRLEN typelen
s |int |deprecate_commaless_var_list
s |int |ao |int toketype
+s |void|parse_ident|NN char **s|NN char **d \
+ |NN char * const e|int allow_package \
+ |bool is_utf8
# if defined(PERL_CR_FILTER)
s |I32 |cr_textfilter |int idx|NULLOK SV *sv|int maxlen
s |void |strip_return |NN SV *sv
s |SV* |mess_alloc
s |SV *|with_queued_errors|NN SV *ex
s |bool |invoke_exception_hook|NULLOK SV *ex|bool warn
-sr |char * |write_no_mem
#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
sn |void |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \
|NN const char *type_name|NULLOK const SV *sv \
#endif
#if defined(PERL_IN_UTF8_C)
-sRn |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len
+iRn |STRLEN |is_utf8_char_slow|NN const U8 *s|const STRLEN len
sRM |UV |check_locale_boundary_crossing|NN const U8* const p|const UV result|NN U8* const ustrp|NN STRLEN *lenp
-sR |bool |is_utf8_common |NN const U8 *const p|NN SV **swash|NN const char * const swashname
+iR |bool |is_utf8_common |NN const U8 *const p|NN SV **swash|NN const char * const swashname
sR |SV* |swatch_get |NN SV* swash|UV start|UV span
#endif
Ap |char* |my_atof2 |NN const char *s|NN NV* value
Apn |int |my_socketpair |int family|int type|int protocol|int fd[2]
Ap |int |my_dirfd |NULLOK DIR* dir
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
: Used in pp_hot.c and regexec.c
pMXE |SV* |sv_setsv_cow |NULLOK SV* dstr|NN SV* sstr
#endif
ApoR |HE** |hv_eiter_p |NN HV *hv
Apo |void |hv_riter_set |NN HV *hv|I32 riter
Apo |void |hv_eiter_set |NN HV *hv|NULLOK HE *eiter
+Ap |void |hv_rand_set |NN HV *hv|U32 new_xhv_rand
Ap |void |hv_name_set |NN HV *hv|NULLOK const char *name|U32 len|U32 flags
p |void |hv_ename_add |NN HV *hv|NN const char *name|U32 len \
|U32 flags