: BEGIN{die "You meant to run regen/embed.pl"} # Stop early if fed to perl.
:
-: This file is processed by regen/embed.pl and autodoc.pl
-: It is used to declare the interfaces to the functions defined by perl. All
-: non-static functions must have entries here. Static functions need not, but
-: there is benefit to declaring them here, as it generally handles the thread
-: context parameter invisibly, as well as making sure a PERL_ARGS_ASSERT_foo
-: macro is defined, which can save you debugging time.
-:
-: Lines are of the form:
+: WARNING: The meanings of some flags have been changed as of v5.31.0
+
+: This file is known to be processed by regen/embed.pl, autodoc.pl,
+: makedef.pl, Devel::PPPort, and porting/diag.t.
+:
+: All non-static functions defined by perl need to be listed in this file.
+: embed.pl uses the entries here to construct proto.h to declare to the
+: compiler the function interfaces, and embed.h to create macros that present a
+: uniform interface to C code for the functions, regardless of, say, whether
+: the perl is threaded or not.
+
+: Static functions need not appear here, but there is benefit to declaring them
+: here, as it generally handles the thread context parameter invisibly, as well
+: as making sure a PERL_ARGS_ASSERT_foo macro is defined, which can save you
+: debugging time.
+:
+: Lines in this file are of the form:
: flags|return_type|function_name|arg1|arg2|...|argN
:
-: A line may be continued on another by ending it with a backslash.
+: A function taking no parameters will have no 'arg' elements.
+: A line may be continued onto the next by ending it with a backslash.
: Leading and trailing whitespace will be ignored in each component.
:
: The default without flags is to declare a function for internal perl-core use
: modify this. Most non-static functions should have the 'p' flag to avoid
: namespace clashes with programs that embed perl.
:
-: flags are single letters with following meanings:
+: Scattered around the perl source are lines of the form:
+:
+: =for apidoc name
+:
+: and
+:
+: =for apidoc flags|return_type|name|arg1|arg2|...|argN
+:
+: and with the same meanings as the lines in this file. autodoc uses these
+: lines in conjunction with this file to construct perlapi.pod. For entries of
+: the first form, there must be a corresponding entry in this file, and the
+: purpose of the line is to associate the pod accompanying it with the
+: interface defined in this file. The second form is used to define the
+: interface for the documentation when there is no entry in this file, hence it
+: will be for something that isn't a non-static function: a macro of some kind,
+: a constant, or some other entity that it wishes to have documented. (If
+: there is also an entry in this file it overrides the apidoc line, and
+: autodoc.pl will warn.) 'return_type' in these lines can be empty, unlike in
+: this file. The entries in this file that have corresponding '=for apidoc'
+: entries should have the flag 'd' set in this file.
+:
+: Devel::PPPort also looks at both this file and the '=for apidoc' lines. In
+: part it is to construct lists of functions that are or are not backported.
+:
+: makedef.pl uses this file for constructing the export list
+:
+: porting/diag.t checks some things for consistency based on this file.
+:
+: 'flags' is a string of single letters. Most of the flags are meaningful only
+: to embed.pl; some only to autodoc.pl, and others only to makedef.pl. The
+: comments here don't include how Devel::PPPort or diag.t use them:
:
-: A Available fully everywhere (usually part of the public API):
+: A Accessible fully everywhere (usually part of the public API):
:
: add entry to the list of exported symbols (unless e or m);
-: 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
+: any doc entry goes in perlapi.pod rather than perlintern.pod. If
+: no documentation is furnished, x controls what happens: If x
+: isn't specified, autodoc.pl lists this in perlapi as existing and
+: being undocumented; otherwise it simply isn't listed.
: 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.
+: If the function is only exported for use in a public macro, see X.
:
: a Allocates memory a la malloc/calloc. Also implies "R".
-: This should only be on functions which returns 'empty' memory
+: This flag should only be on functions which return 'empty' memory
: which has no other pointers to it, and which does not contain
: any pointers to other things. So for example realloc() can't be
: 'a'.
:
: For functions, like wrappers, whose macro shortcut doesn't call the
: function, but which, for whatever reason, aren't considered legacy-only,
-: use the 'o' flag
+: use the 'o' flag, and maybe the 'M'
:
: This flag effectively causes nothing to happen if the perl interpreter
: is compiled with -DNO_MATHOMS; otherwise these happen:
: D Function is deprecated:
:
: proto.h: add __attribute__deprecated__
+: autodoc.pl adds a note to this effect in the doc entry
:
: d Function has documentation (somewhere) in the source:
:
-: enables 'no docs for foo" warning in autodoc.pl
+: enables 'no docs for foo" warning in autodoc.pl if the documentation
+: isn't found.
:
: E Visible to extensions included in the Perl core:
:
: in embed.h, change "#ifdef PERL_CORE"
: into "#if defined(PERL_CORE) || defined(PERL_EXT)"
:
-: To be usable from dynamically loaded extensions, either:
-: 1) must be static to its containing file ("i" or "s" flag); or
+: To be usable from dynamically loaded extensions, either:
+: 1) it must be static to its containing file ("i" or "s" flag); or
: 2) be combined with the "X" flag.
:
: e Not exported
+
: suppress entry in the list of exported symbols
:
: f Function takes a format string. If the function name =~ qr/strftime/
:
: proto.h: add __attribute__format__ (or ...null_ok__)
:
+: h Hide any documentation. This is used typically when the documentation
+: is atypical of the rest of perlapi and perlintern. In other words the
+: item is documented, but just not the standard way. One reason would be
+: if there are a bunch of macros which follow a common paradigm in their
+: naming, so rather than having an entry for each slight variation, there
+: is an overarchinge one. It is also used when the documentation is in
+: another pod, such as perlguts or warnings.h. This flag is useful for
+: downstream programs, such as Devel::PPPort.
+:
: i Static inline: function in source code has a S_ prefix:
:
: proto.h: function is declared as S_foo rather than foo unless the 'p'
: flag is also given in which case 'Perl_foo' is used,
-: PERL_STATIC_INLINE is added to declaration;
+: PERL_STATIC_INLINE is added to the declaration
: embed.h: "#define foo S_foo" or Perl_foo entries added
:
: M There is an extra macro that bypasses this function
:
: (requires 'p', and implies 'o') The function exists so that callers who
: used the 'Perl_' form can continue to do so, but there is a macro
-: available with out the 'Perl_' prefix that bypasses the function call,
+: available without the 'Perl_' prefix that bypasses the function call,
: such as when the function has been reduced to a wrapper around another
: one.
:
: suppress entry in the list of exported symbols
: suppress embed.h entry
:
+: N The name in the entry isn't strictly a name
+:
+: Normally, the name of the function or macro must contain all \w
+: characters, and a warning is raised otherwise. This flag suppresses
+: that warning, so that weird things can be documented
:
+: n Has no arguments (used only in =for apidoc entries)
+:
+: The macro (it can't be a function) is used without any parameters nor
+: empty parentheses.
:
: O Has a perl_ compatibility macro.
:
-: The really OLD name for API funcs
+: The really OLD name for API funcs.
+
+: autodoc.pl adds a note that the perl_ form of this function is
+: deprecated.
+:
:
: o Has no Perl_foo or S_foo compatibility macro:
:
: doesn't call the function specified by this entry. This is typically
: done for a function that effectively just wraps another one, and where
: the macro form calls the underlying function directly. For these, also
-: specify the 'm' flag. Legacy-only functions should instead use 'b'.
+: specify the 'M' flag. Legacy-only functions should instead use 'b'.
:
: embed.h: suppress "#define foo Perl_foo"
:
+: autodoc.pl adds a note that this function must be explicitly called as
+: Perl_$name with an aTHX_ parameter, unless the 'M' flag is specified.
+:
: P Pure function:
:
: A pure function has no effects except the return value, and the return
:
: R Return value must not be ignored (also implied by 'a' and 'P' flags):
:
+: gcc has a bug (which they claim is a feature) in which casting the
+: result of one of these to (void) doesn't silence the warning that the
+: result is ignored.
+:
: proto.h: add __attribute__warn_unused_result__
:
: r Function never returns:
: "#define foo Perl_foo", rather than
: "#define foo(a,b,c) Perl_foo(aTHX_ a,b,c)
:
-: U Suppress usage example in autogenerated documentation
-:
-: (currently no effect)
+: U autodoc.pl will not output a usage example
:
: W Add a _pDEPTH argument to function prototypes, and an _aDEPTH
: argument to the function calls. This means that under DEBUGGING
: any doc entry is marked that it may change. Also used to suppress
: making a doc entry if it would just be a placeholder.
:
-: (see also L<perlguts/Internal Functions> for those flags.)
-:
-: Pointer parameters that must not be passed NULLs should be prefixed with NN.
+: In this file, pointer parameters that must not be passed NULLs should be
+: prefixed with NN.
:
-: Pointer parameters that may be NULL should be prefixed with NULLOK. This has
-: no effect on output yet. It's a notation for the maintainers to know "I have
-: defined whether NULL is OK or not" rather than having neither NULL or NULLOK,
-: which is ambiguous.
+: And, pointer parameters that may be NULL should be prefixed with NULLOK.
+: This has no effect on output yet. It's a notation for the maintainers to
+: know "I have defined whether NULL is OK or not" rather than having neither
+: NULL or NULLOK, which is ambiguous.
:
-: Individual flags may be separated by whitespace.
+: Individual flags may be separated by non-tab whitespace.
#if defined(PERL_IMPLICIT_SYS)
ATo |PerlInterpreter*|perl_alloc_using \
# endif
#endif
-AaTop |Malloc_t|malloc |MEM_SIZE nbytes
-AaTop |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE size
-ARTop |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes
+AaTophd |Malloc_t|malloc |MEM_SIZE nbytes
+AaTophd |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE size
+ARTophd |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes
ATop |Free_t |mfree |Malloc_t where
#if defined(MYMALLOC)
TpR |MEM_SIZE|malloced_size |NN void *p
ApdR |SV* |av_shift |NN AV *av
Apd |SV** |av_store |NN AV *av|SSize_t key|NULLOK SV *val
AidR |SSize_t|av_top_index |NN AV *av
-AmpdR |SSize_t|av_tindex |NN AV *av
+AmdR |SSize_t|av_tindex |NN AV *av
Apd |void |av_undef |NN AV *av
Apdoex |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val
Apd |void |av_unshift |NN AV *av|SSize_t num
AfTp |void |sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
AfTp |void |sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
AfTp |void |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
-AbfTp |int |fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
-AbfTp |int |printf_nocontext|NN const char *format|...
+AbfTpD |int |fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
+AbfTpD |int |printf_nocontext|NN const char *format|...
#endif
: Used in pp.c
-p |SV * |core_prototype |NULLOK SV *sv|NN const char *name \
+pd |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 *const coreargssv|const int code \
Apd |SV * |cv_name |NN CV *cv|NULLOK SV *sv|U32 flags
Apd |void |cv_undef |NN CV* cv
p |void |cv_undef_flags |NN CV* cv|U32 flags
-p |void |cv_forget_slab |NULLOK CV *cv
+pd |void |cv_forget_slab |NULLOK CV *cv
Ap |void |cx_dump |NN PERL_CONTEXT* cx
-Ap |SV* |filter_add |NULLOK filter_t funcp|NULLOK SV* datasv
+Aphd |SV* |filter_add |NULLOK filter_t funcp|NULLOK SV* datasv
Ap |void |filter_del |NN filter_t funcp
-ApR |I32 |filter_read |int idx|NN SV *buf_sv|int maxlen
+ApRhd |I32 |filter_read |int idx|NN SV *buf_sv|int maxlen
ApPR |char** |get_op_descs
ApPR |char** |get_op_names
: FIXME discussion on p5p
pr |void |die_unwind |NN SV* msv
Ap |void |dounwind |I32 cxix
: FIXME
-pmb |bool|do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp
+pMb |bool|do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp
: Used in pp_sys.c
p |bool|do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
-Abp |int |do_binmode |NN PerlIO *fp|int iotype|int mode
+AbpD |int |do_binmode |NN PerlIO *fp|int iotype|int mode
: Used in pp.c
Ap |bool |do_close |NULLOK GV* gv|bool not_implicit
: Defined in doio.c, used only in pp_sys.c
: p |OP* |do_kv
: used in pp.c, pp_hot.c
pR |I32 |do_ncmp |NN SV *const left|NN SV *const right
-Apmb |bool |do_open |NN GV* gv|NN const char* name|I32 len|int as_raw \
+ApMb |bool |do_open |NN GV* gv|NN const char* name|I32 len|int as_raw \
|int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
-Abp |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \
+AbpD |bool |do_open9 |NN GV *gv|NN const char *name|I32 len|int as_raw \
|int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
|NN SV *svs|I32 num
pT |void |setfd_cloexec|int fd
pR |int |PerlLIO_open_cloexec|NN const char *file|int flag
pR |int |PerlLIO_open3_cloexec|NN const char *file|int flag|int perm
pToR |int |my_mkstemp_cloexec|NN char *templte
+pToR |int |my_mkostemp_cloexec|NN char *templte|int flags
#ifdef HAS_PIPE
pR |int |PerlProc_pipe_cloexec|NN int *pipefd
#endif
: Used in perly.y
p |OP* |dofile |NN OP* term|I32 force_builtin
ApR |U8 |dowantarray
-Ap |void |dump_all
+Adp |void |dump_all
p |void |dump_all_perl |bool justperl
Ap |void |dump_eval
Ap |void |dump_form |NN const GV* gv
Ap |void |gv_dump |NULLOK GV* gv
Apd |OPclass|op_class |NULLOK const OP *o
-Ap |void |op_dump |NN const OP *o
+Apd |void |op_dump |NN const OP *o
Ap |void |pmop_dump |NULLOK PMOP* pm
-Ap |void |dump_packsubs |NN const HV* stash
+Apd |void |dump_packsubs |NN const HV* stash
p |void |dump_packsubs_perl |NN const HV* stash|bool justperl
Ap |void |dump_sub |NN const GV* gv
p |void |dump_sub_perl |NN const GV* gv|bool justperl
|NULLOK SV* const_meth
: FIXME
S |OP* |fold_constants |NN OP * const o
-S |OP* |traverse_op_tree|NN OP* top|NN OP* o
+Sd |OP* |traverse_op_tree|NN OP* top|NN OP* o
#endif
Afpd |char* |form |NN const char* pat|...
Ap |char* |vform |NN const char* pat|NULLOK va_list* args
Ap |void |free_tmps
#if defined(PERL_IN_OP_C)
-S |OP* |gen_constant_list|NULLOK OP* o
+S |void |gen_constant_list|NULLOK OP* o
#endif
#if !defined(HAS_GETENV_LEN)
: Used in hv.c
Ap |void |gp_free |NULLOK GV* gv
Ap |GP* |gp_ref |NULLOK GP* gp
Ap |GV* |gv_add_by_type |NULLOK GV *gv|svtype type
-Apmb |GV* |gv_AVadd |NULLOK GV *gv
-Apmb |GV* |gv_HVadd |NULLOK GV *gv
-Apmb |GV* |gv_IOadd |NULLOK GV* gv
+ApMb |GV* |gv_AVadd |NULLOK GV *gv
+ApMb |GV* |gv_HVadd |NULLOK GV *gv
+ApMb |GV* |gv_IOadd |NULLOK GV* gv
AmR |GV* |gv_autoload4 |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 method
ApR |GV* |gv_autoload_sv |NULLOK HV* stash|NN SV* namesv|U32 flags
ApR |GV* |gv_autoload_pvn |NULLOK HV* stash|NN const char* name \
|STRLEN len|U32 flags
Ap |void |gv_check |NN HV* stash
-Abp |void |gv_efullname |NN SV* sv|NN const GV* gv
-Apmb |void |gv_efullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
+AbpD |void |gv_efullname |NN SV* sv|NN const GV* gv
+ApMb |void |gv_efullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
Ap |void |gv_efullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
Ap |GV* |gv_fetchfile |NN const char* name
Ap |GV* |gv_fetchfile_flags|NN const char *const name|const STRLEN len\
|I32 level|U32 flags
Apd |GV* |gv_fetchmeth_pvn_autoload |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 level|U32 flags
-Apdmb |GV* |gv_fetchmethod |NN HV* stash|NN const char* name
+ApdMb |GV* |gv_fetchmethod |NN HV* stash|NN const char* name
Apd |GV* |gv_fetchmethod_autoload|NN HV* stash|NN const char* name \
|I32 autoload
Apx |GV* |gv_fetchmethod_sv_flags|NN HV* stash|NN SV* namesv|U32 flags
Apx |GV* |gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
|const STRLEN len|U32 flags
Ap |GV* |gv_fetchpv |NN const char *nambeg|I32 add|const svtype sv_type
-Abp |void |gv_fullname |NN SV* sv|NN const GV* gv
-Apmb |void |gv_fullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
+AbpD |void |gv_fullname |NN SV* sv|NN const GV* gv
+ApMb |void |gv_fullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
Ap |void |gv_fullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
: Used in scope.c
pxoe |GP * |newGP |NN GV *const gv
pX |void |cvstash_set |NN CV* cv|NULLOK HV* stash
Amd |void |gv_init |NN GV* gv|NULLOK HV* stash \
|NN const char* name|STRLEN len|int multi
-Ap |void |gv_init_sv |NN GV* gv|NULLOK HV* stash|NN SV* namesv|U32 flags
-Ap |void |gv_init_pv |NN GV* gv|NULLOK HV* stash|NN const char* name \
+Apd |void |gv_init_sv |NN GV* gv|NULLOK HV* stash|NN SV* namesv|U32 flags
+Apd |void |gv_init_pv |NN GV* gv|NULLOK HV* stash|NN const char* name \
|U32 flags
-Ap |void |gv_init_pvn |NN GV* gv|NULLOK HV* stash|NN const char* name \
+Apd |void |gv_init_pvn |NN GV* gv|NULLOK HV* stash|NN const char* name \
|STRLEN len|U32 flags
Ap |void |gv_name_set |NN GV* gv|NN const char *name|U32 len|U32 flags
pe |GV * |gv_override |NN const char * const name \
: used in SAVEHINTS() and op.c
ApdR |HV * |hv_copy_hints_hv|NULLOK HV *const ohv
Ap |void |hv_delayfree_ent|NN HV *hv|NULLOK HE *entry
-Abmdp |SV* |hv_delete |NULLOK HV *hv|NN const char *key|I32 klen \
+AbMdp |SV* |hv_delete |NULLOK HV *hv|NN const char *key|I32 klen \
|I32 flags
-Abmdp |SV* |hv_delete_ent |NULLOK HV *hv|NN SV *keysv|I32 flags|U32 hash
-AbmdRp |bool |hv_exists |NULLOK HV *hv|NN const char *key|I32 klen
-AbmdRp |bool |hv_exists_ent |NULLOK HV *hv|NN SV *keysv|U32 hash
-Abmdp |SV** |hv_fetch |NULLOK HV *hv|NN const char *key|I32 klen \
+AbMdp |SV* |hv_delete_ent |NULLOK HV *hv|NN SV *keysv|I32 flags|U32 hash
+AbMdRp |bool |hv_exists |NULLOK HV *hv|NN const char *key|I32 klen
+AbMdRp |bool |hv_exists_ent |NULLOK HV *hv|NN SV *keysv|U32 hash
+AbMdp |SV** |hv_fetch |NULLOK HV *hv|NN const char *key|I32 klen \
|I32 lval
-Abmdp |HE* |hv_fetch_ent |NULLOK HV *hv|NN SV *keysv|I32 lval|U32 hash
+AbMdp |HE* |hv_fetch_ent |NULLOK HV *hv|NN SV *keysv|I32 lval|U32 hash
Ap |void* |hv_common |NULLOK HV *hv|NULLOK SV *keysv \
|NULLOK const char* key|STRLEN klen|int flags \
|int action|NULLOK SV *val|U32 hash
Apd |I32 |hv_iterinit |NN HV *hv
ApdR |char* |hv_iterkey |NN HE* entry|NN I32* retlen
ApdR |SV* |hv_iterkeysv |NN HE* entry
-ApdRbm |HE* |hv_iternext |NN HV *hv
+ApdRbM |HE* |hv_iternext |NN HV *hv
ApdR |SV* |hv_iternextsv |NN HV *hv|NN char **key|NN I32 *retlen
ApxdR |HE* |hv_iternext_flags|NN HV *hv|I32 flags
ApdR |SV* |hv_iterval |NN HV *hv|NN HE *entry
Ap |void |hv_ksplit |NN HV *hv|IV newmax
-Apdbm |void |hv_magic |NN HV *hv|NULLOK GV *gv|int how
+ApdbM |void |hv_magic |NN HV *hv|NULLOK GV *gv|int how
#if defined(PERL_IN_HV_C)
S |SV * |refcounted_he_value |NN const struct refcounted_he *he
#endif
|U32 hash|NULLOK SV *value|U32 flags
Xpd |void |refcounted_he_free|NULLOK struct refcounted_he *he
Xpd |struct refcounted_he *|refcounted_he_inc|NULLOK struct refcounted_he *he
-Apbmd |SV** |hv_store |NULLOK HV *hv|NULLOK const char *key \
+ApbMd |SV** |hv_store |NULLOK HV *hv|NULLOK const char *key \
|I32 klen|NULLOK SV *val|U32 hash
-Apbmd |HE* |hv_store_ent |NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
+ApbMd |HE* |hv_store_ent |NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
|U32 hash
-Apbmx |SV** |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
+ApbMx |SV** |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
|I32 klen|NULLOK SV *val|U32 hash|int flags
Amd |void |hv_undef |NULLOK HV *hv
poX |void |hv_undef_flags |NULLOK HV *hv|U32 flags
-AmP |I32 |ibcmp |NN const char* a|NN const char* b|I32 len
-AiTp |I32 |foldEQ |NN const char* a|NN const char* b|I32 len
-AmP |I32 |ibcmp_locale |NN const char* a|NN const char* b|I32 len
-AiTp |I32 |foldEQ_locale |NN const char* a|NN const char* b|I32 len
+AdmP |I32 |ibcmp |NN const char* a|NN const char* b|I32 len
+AdiTp |I32 |foldEQ |NN const char* a|NN const char* b|I32 len
+AdmP |I32 |ibcmp_locale |NN const char* a|NN const char* b|I32 len
+AiTpd |I32 |foldEQ_locale |NN const char* a|NN const char* b|I32 len
Am |I32 |ibcmp_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
|bool u1|NN const char *s2|NULLOK char **pe2 \
|UV l2|bool u2
Ap |void |init_stacks
Ap |void |init_tm |NN struct tm *ptm
: Used in perly.y
-AbmTpPR |char* |instr |NN const char* big|NN const char* little
+AbMTpPRd|char* |instr |NN const char* big|NN const char* little
: Used in sv.c
p |bool |io_close |NN IO* io|NULLOK GV *gv \
|bool not_implicit|bool warn_on_fail
ATiR |unsigned int|_variant_byte_number|PERL_UINTMAX_T word
#endif
#if defined(PERL_CORE) || defined(PERL_EXT)
-EiTR |Size_t |variant_under_utf8_count|NN const U8* const s \
+EiTRd |Size_t |variant_under_utf8_count|NN const U8* const s \
|NN const U8* const e
#endif
-AmTpdRP |bool |is_ascii_string|NN const U8* const s|STRLEN len
-AmTpdRP |bool |is_invariant_string|NN const U8* const s|STRLEN len
+AmTdRP |bool |is_ascii_string|NN const U8* const s|STRLEN len
+AmTdRP |bool |is_invariant_string|NN const U8* const s|STRLEN len
#if defined(PERL_CORE) || defined (PERL_EXT)
EXTidR |bool |is_utf8_non_invariant_string|NN const U8* const s \
|STRLEN len
#endif
AbTpdD |STRLEN |is_utf8_char |NN const U8 *s
-AbmTpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
+AbMTpd |STRLEN |is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
ATidR |Size_t |isUTF8_CHAR|NN const U8 * const s0 \
|NN const U8 * const e
ATidR |Size_t |isSTRICT_UTF8_CHAR |NN const U8 * const s0 \
|NN const U8 * const e
ATidR |Size_t |isC9_STRICT_UTF8_CHAR |NN const U8 * const s0 \
|NN const U8 * const e
-ATmdpR |bool |is_utf8_string |NN const U8 *s|STRLEN len
+ATmdR |bool |is_utf8_string |NN const U8 *s|STRLEN len
ATidR |bool |is_utf8_string_flags \
|NN const U8 *s|STRLEN len|const U32 flags
-ATmdpR |bool |is_strict_utf8_string|NN const U8 *s|STRLEN len
-ATmdpR |bool |is_c9strict_utf8_string|NN const U8 *s|STRLEN len
-ATpdmb |bool |is_utf8_string_loc \
+ATmdR |bool |is_strict_utf8_string|NN const U8 *s|STRLEN len
+ATmdR |bool |is_c9strict_utf8_string|NN const U8 *s|STRLEN len
+ATpdMb |bool |is_utf8_string_loc \
|NN const U8 *s|const STRLEN len|NN const U8 **ep
ATdm |bool |is_utf8_string_loc_flags \
|NN const U8 *s|STRLEN len|NN const U8 **ep \
Axpd |SV* |parse_label |U32 flags
Axpd |OP* |parse_fullstmt |U32 flags
Axpd |OP* |parse_stmtseq |U32 flags
+Axpd |OP* |parse_subsignature|U32 flags
: Used in various files
Apd |void |op_null |NN OP* o
: FIXME. Used by Data::Alias
Apd |int |grok_number_flags|NN const char *pv|STRLEN len|NULLOK UV *valuep|U32 flags
ApdR |bool |grok_numeric_radix|NN const char **sp|NN const char *send
Apd |UV |grok_oct |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
-EXpT |bool |grok_atoUV |NN const char* pv|NN UV* valptr|NULLOK const char** endptr
+EXpdT |bool |grok_atoUV |NN const char* pv|NN UV* valptr|NULLOK const char** endptr
: These are all indirectly referenced by globals.c. This is somewhat annoying.
p |int |magic_clearenv |NN SV* sv|NN MAGIC* mg
p |int |magic_clear_all_env|NN SV* sv|NN MAGIC* mg
Ap |I32 * |markstack_grow
#if defined(USE_LOCALE_COLLATE)
p |int |magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
-pb |char* |mem_collxfrm |NN const char* input_string|STRLEN len|NN STRLEN* xlen
+pbD |char* |mem_collxfrm |NN const char* input_string|STRLEN len|NN STRLEN* xlen
: Defined in locale.c, used only in sv.c
# if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_MATHOMS_C)
px |char* |_mem_collxfrm |NN const char* input_string \
ApT |void |mini_mktime |NN struct tm *ptm
Axmd |OP* |op_lvalue |NULLOK OP* o|I32 type
poX |OP* |op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
-p |void |finalize_optree |NN OP* o
-p |void |optimize_optree|NN OP* o
+pd |void |finalize_optree |NN OP* o
+pd |void |optimize_optree|NN OP* o
#if defined(PERL_IN_OP_C)
S |void |optimize_op |NN OP* o
S |void |finalize_op |NN OP* o
p |int |mode_from_discipline|NULLOK const char* s|STRLEN len
Ap |const char* |moreswitches |NN const char* s
Ap |NV |my_atof |NN const char *s
-ATpR |NV |my_strtod |NN const char * const s|NULLOK char ** e
-Apr |void |my_exit |U32 status
+ATdpR |NV |my_strtod |NN const char * const s|NULLOK char ** e
+Aprd |void |my_exit |U32 status
Apr |void |my_failure_exit
Ap |I32 |my_fflush_all
ATp |Pid_t |my_fork
ATp |void |atfork_lock
ATp |void |atfork_unlock
-Apmb |I32 |my_lstat
+ApMb |I32 |my_lstat
pX |I32 |my_lstat_flags |NULLOK const U32 flags
#if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT))
EeiT |void * |my_memrchr |NN const char * s|const char c|const STRLEN len
Ap |PerlIO*|my_popen |NN const char* cmd|NN const char* mode
#endif
Ap |PerlIO*|my_popen_list |NN const char* mode|int n|NN SV ** args
-Ap |void |my_setenv |NULLOK const char* nam|NULLOK const char* val
-Apmb |I32 |my_stat
+Apd |void |my_setenv |NULLOK const char* nam|NULLOK const char* val
+ApMb |I32 |my_stat
pX |I32 |my_stat_flags |NULLOK const U32 flags
Afp |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
: Used in pp_ctl.c
ApdR |OP* |newRANGE |I32 flags|NN OP* left|NN OP* right
ApdR |OP* |newSLICEOP |I32 flags|NULLOK OP* subscript|NULLOK OP* listop
ApdR |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o
-Apbm |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
+ApbM |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
|NULLOK OP* block
pd |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \
|NN XSUBADDR_t subaddr\
Apx |CV * |newXS_flags |NULLOK const char *name|NN XSUBADDR_t subaddr\
|NN const char *const filename \
|NULLOK const char *const proto|U32 flags
-Apd |CV* |newXS |NULLOK const char *name|NN XSUBADDR_t subaddr\
+ApdU |CV* |newXS |NULLOK const char *name|NN XSUBADDR_t subaddr\
|NN const char *filename
-ApmdbR |AV* |newAV
+ApMdbR |AV* |newAV
ApR |OP* |newAVREF |NN OP* o
ApdR |OP* |newBINOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
ApR |OP* |newCVREF |I32 flags|NULLOK OP* o
ApR |GV* |newGVgen_flags |NN const char* pack|U32 flags
ApR |OP* |newGVREF |I32 type|NULLOK OP* o
ApR |OP* |newHVREF |NN OP* o
-ApmdbR |HV* |newHV
+ApMdbR |HV* |newHV
ApR |HV* |newHVhv |NULLOK HV *hv
-ApRbm |IO* |newIO
+ApRbM |IO* |newIO
ApdR |OP* |newLISTOP |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
AxpdRT |PADNAME *|newPADNAMEouter|NN PADNAME *outer
AxpdRT |PADNAME *|newPADNAMEpvn|NN const char *s|STRLEN len
AfpdR |SV* |newSVpvf |NN const char *const pat|...
ApR |SV* |vnewSVpvf |NN const char *const pat|NULLOK va_list *const args
Apd |SV* |newSVrv |NN SV *const rv|NULLOK const char *const classname
-ApmbdR |SV* |newSVsv |NULLOK SV *const old
-ApmdR |SV* |newSVsv_nomg |NULLOK SV *const old
+ApMbdR |SV* |newSVsv |NULLOK SV *const old
+AmdR |SV* |newSVsv_nomg |NULLOK SV *const old
ApR |SV* |newSVsv_flags |NULLOK SV *const old|I32 flags
ApdR |SV* |newSV_type |const svtype type
ApdR |OP* |newUNOP |I32 type|I32 flags|NULLOK OP* first
p |PADOFFSET|allocmy |NN const char *const name|const STRLEN len\
|const U32 flags
#ifdef USE_ITHREADS
-Axp |PADOFFSET|alloccopstash|NN HV *hv
+Adxp |PADOFFSET|alloccopstash|NN HV *hv
#endif
: Used in perly.y
pR |OP* |oopsAV |NN OP* o
ATdo |const char*|Perl_langinfo|const int item
#endif
ApOx |int |init_i18nl10n |int printwarn
-AbpOx |int |init_i18nl14n |int printwarn
+AbpOxD |int |init_i18nl14n |int printwarn
p |char* |my_strerror |const int errnum
XpT |void |_warn_problematic_locale
Xp |void |set_numeric_underlying
ApxT |void |thread_locale_init
ApxT |void |thread_locale_term
ApdO |void |require_pv |NN const char* pv
-Abpd |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \
+AbpdM |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \
|NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags
Apd |void |packlist |NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
#endif
Ap |void |pop_scope
Ap |void |push_scope
-Apmb |OP* |ref |NULLOK OP* o|I32 type
+ApMb |OP* |ref |NULLOK OP* o|I32 type
#if defined(PERL_IN_OP_C)
S |OP* |refkids |NULLOK OP* o|I32 type
#endif
ATp |void |repeatcpy |NN char* to|NN const char* from|I32 len|IV count
AdTpP |char* |rninstr |NN const char* big|NN const char* bigend \
|NN const char* little|NN const char* lend
-Ap |Sighandler_t|rsignal |int i|Sighandler_t t
+Apd |Sighandler_t|rsignal |int i|Sighandler_t t
: Used in pp_sys.c
p |int |rsignal_restore|int i|NULLOK Sigsave_t* t
: Used in pp_sys.c
Ap |void |save_adelete |NN AV *av|SSize_t key
Ap |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
Ap |void |save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
-Apmb |void |save_freesv |NULLOK SV* sv
+ApMb |void |save_freesv |NULLOK SV* sv
: Used in SAVEFREOP(), used in op.c, pp_ctl.c
-Apmb |void |save_freeop |NULLOK OP* o
-Apmb |void |save_freepv |NULLOK char* pv
+ApMb |void |save_freeop |NULLOK OP* o
+ApMb |void |save_freepv |NULLOK char* pv
Ap |void |save_generic_svref|NN SV** sptr
Ap |void |save_generic_pvref|NN char** str
Ap |void |save_shared_pvref|NN char** str
Ap |void |save_I32 |NN I32* intp
Ap |void |save_I8 |NN I8* bytep
Ap |void |save_int |NN int* intp
-Ap |void |save_item |NN SV* item
+Apdh |void |save_item |NN SV* item
Ap |void |save_iv |NN IV *ivp
-Abp |void |save_list |NN SV** sarg|I32 maxsarg
-Abp |void |save_long |NN long* longp
-Apmb |void |save_mortalizesv|NN SV* sv
-Abp |void |save_nogv |NN GV* gv
+AbpD |void |save_list |NN SV** sarg|I32 maxsarg
+AbpD |void |save_long |NN long* longp
+ApMb |void |save_mortalizesv|NN SV* sv
+AbpD |void |save_nogv |NN GV* gv
: Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
-Apmb |void |save_op
+ApMb |void |save_op
Ap |SV* |save_scalar |NN GV* gv
Ap |void |save_pptr |NN char** pptr
Ap |void |save_vptr |NN void *ptr
Xp |void |init_named_cv |NN CV *cv|NN OP *nameop
: Used in pp_ctl.c
p |void |sub_crush_depth|NN CV* cv
-Apbmd |bool |sv_2bool |NN SV *const sv
+ApbMd |bool |sv_2bool |NN SV *const sv
Apd |bool |sv_2bool_flags |NN SV *sv|I32 flags
Apd |CV* |sv_2cv |NULLOK SV* sv|NN HV **const st|NN GV **const gvp \
|const I32 lref
#if defined(PERL_IN_SV_C)
S |bool |glob_2number |NN GV* const gv
#endif
-Apmb |IV |sv_2iv |NN SV *sv
+ApMb |IV |sv_2iv |NN SV *sv
Apd |IV |sv_2iv_flags |NN SV *const sv|const I32 flags
Apd |SV* |sv_2mortal |NULLOK SV *const sv
Apd |NV |sv_2nv_flags |NN SV *const sv|const I32 flags
: Used in pp.c, pp_hot.c, sv.c
pxd |SV* |sv_2num |NN SV *const sv
-Apmb |char* |sv_2pv |NN SV *sv|NULLOK STRLEN *lp
+ApMb |char* |sv_2pv |NN SV *sv|NULLOK STRLEN *lp
Apd |char* |sv_2pv_flags |NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
-Apd |char* |sv_2pvutf8 |NN SV *sv|NULLOK STRLEN *const lp
-Apd |char* |sv_2pvbyte |NN SV *sv|NULLOK STRLEN *const lp
-Abp |char* |sv_pvn_nomg |NN SV* sv|NULLOK STRLEN* lp
-Apmb |UV |sv_2uv |NN SV *sv
+ApdMb |char* |sv_2pvutf8 |NN SV *sv|NULLOK STRLEN *const lp
+Ap |char* |sv_2pvutf8_flags |NN SV *sv|NULLOK STRLEN *const lp|const U32 flags
+ApdMb |char* |sv_2pvbyte |NN SV *sv|NULLOK STRLEN *const lp
+Ap |char* |sv_2pvbyte_flags |NN SV *sv|NULLOK STRLEN *const lp|const U32 flags
+AbpD |char* |sv_pvn_nomg |NN SV* sv|NULLOK STRLEN* lp
+ApMb |UV |sv_2uv |NN SV *sv
Apd |UV |sv_2uv_flags |NN SV *const sv|const I32 flags
-Abpd |IV |sv_iv |NN SV* sv
-Abpd |UV |sv_uv |NN SV* sv
-Abpd |NV |sv_nv |NN SV* sv
-Abpd |char* |sv_pvn |NN SV *sv|NN STRLEN *lp
-Abpd |char* |sv_pvutf8n |NN SV *sv|NN STRLEN *lp
-Abpd |char* |sv_pvbyten |NN SV *sv|NN STRLEN *lp
+AbpdD |IV |sv_iv |NN SV* sv
+AbpdD |UV |sv_uv |NN SV* sv
+AbpdD |NV |sv_nv |NN SV* sv
+AbpdD |char* |sv_pvn |NN SV *sv|NN STRLEN *lp
+AbpdD |char* |sv_pvutf8n |NN SV *sv|NN STRLEN *lp
+AbpdD |char* |sv_pvbyten |NN SV *sv|NN STRLEN *lp
Apd |I32 |sv_true |NULLOK SV *const sv
#if defined(PERL_IN_SV_C)
Sd |void |sv_add_arena |NN char *const ptr|const U32 size \
Apd |void |sv_vcatpvf |NN SV *const sv|NN const char *const pat \
|NULLOK va_list *const args
Apd |void |sv_catpv |NN SV *const sv|NULLOK const char* ptr
-Apmdb |void |sv_catpvn |NN SV *dsv|NN const char *sstr|STRLEN len
-Apmdb |void |sv_catsv |NN SV *dstr|NULLOK SV *sstr
+ApMdb |void |sv_catpvn |NN SV *dsv|NN const char *sstr|STRLEN len
+ApMdb |void |sv_catsv |NN SV *dstr|NULLOK SV *sstr
Apd |void |sv_chop |NN SV *const sv|NULLOK const char *const ptr
: Used only in perl.c
pd |I32 |sv_clean_all
Apd |I32 |sv_cmp_locale_flags |NULLOK SV *const sv1 \
|NULLOK SV *const sv2|const U32 flags
#if defined(USE_LOCALE_COLLATE)
-Apbmd |char* |sv_collxfrm |NN SV *const sv|NN STRLEN *const nxp
+ApbMd |char* |sv_collxfrm |NN SV *const sv|NN STRLEN *const nxp
Apd |char* |sv_collxfrm_flags |NN SV *const sv|NN STRLEN *const nxp|I32 const flags
#endif
Apd |int |getcwd_sv |NN SV* sv
Apd |void |sv_dec |NULLOK SV *const sv
Apd |void |sv_dec_nomg |NULLOK SV *const sv
-Ap |void |sv_dump |NULLOK SV* sv
+Apd |void |sv_dump |NULLOK SV* sv
ApdR |bool |sv_derived_from|NN SV* sv|NN const char *const name
ApdR |bool |sv_derived_from_sv|NN SV* sv|NN SV *namesv|U32 flags
ApdR |bool |sv_derived_from_pv|NN SV* sv|NN const char *const name|U32 flags
ApdR |bool |sv_does_pv |NN SV* sv|NN const char *const name|U32 flags
ApdR |bool |sv_does_pvn |NN SV* sv|NN const char *const name|const STRLEN len \
|U32 flags
-Apbmd |I32 |sv_eq |NULLOK SV* sv1|NULLOK SV* sv2
+ApbMd |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
poxX |void |sv_free2 |NN SV *const sv|const U32 refcnt
Apd |char* |sv_grow |NN SV *const sv|STRLEN newlen
Apd |void |sv_inc |NULLOK SV *const sv
Apd |void |sv_inc_nomg |NULLOK SV *const sv
-Apmdb |void |sv_insert |NN SV *const bigstr|const STRLEN offset \
+ApMdb |void |sv_insert |NN SV *const bigstr|const STRLEN offset \
|const STRLEN len|NN const char *const little \
|const STRLEN littlelen
Apd |void |sv_insert_flags|NN SV *const bigstr|const STRLEN offset|const STRLEN len \
EiT |bool |sv_only_taint_gmagic|NN SV *sv
: exported for re.pm
EXp |MAGIC *|sv_magicext_mglob|NN SV *sv
-ApdbmR |SV* |sv_mortalcopy |NULLOK SV *const oldsv
+ApdbMR |SV* |sv_mortalcopy |NULLOK SV *const oldsv
ApdR |SV* |sv_mortalcopy_flags|NULLOK SV *const oldsv|U32 flags
ApdR |SV* |sv_newmortal
Apd |SV* |sv_newref |NULLOK SV *const sv
Apd |void |sv_pos_b2u |NULLOK SV *const sv|NN I32 *const offsetp
Apd |STRLEN |sv_pos_b2u_flags|NN SV *const sv|STRLEN const offset \
|U32 flags
-Apmdb |char* |sv_pvn_force |NN SV* sv|NULLOK STRLEN* lp
+ApMdb |char* |sv_pvn_force |NN SV* sv|NULLOK STRLEN* lp
Apd |char* |sv_pvutf8n_force|NN SV *const sv|NULLOK STRLEN *const lp
Apd |char* |sv_pvbyten_force|NN SV *const sv|NULLOK STRLEN *const lp
Apd |char* |sv_recode_to_utf8 |NN SV* sv|NN SV *encoding
Afpd |void |sv_setpvf |NN SV *const sv|NN const char *const pat|...
Apd |void |sv_vsetpvf |NN SV *const sv|NN const char *const pat|NULLOK va_list *const args
Apd |void |sv_setiv |NN SV *const sv|const IV num
-Apdb |void |sv_setpviv |NN SV *const sv|const IV num
+ApdbD |void |sv_setpviv |NN SV *const sv|const IV num
Apd |void |sv_setuv |NN SV *const sv|const UV num
Apd |void |sv_setnv |NN SV *const sv|const NV num
Apd |SV* |sv_setref_iv |NN SV *const rv|NULLOK const char *const classname|const IV iv
Apd |void |sv_setpvn |NN SV *const sv|NULLOK const char *const ptr|const STRLEN len
Apd |char *|sv_setpv_bufsize|NN SV *const sv|const STRLEN cur|const STRLEN len
Xp |void |sv_sethek |NN SV *const sv|NULLOK const HEK *const hek
-Apmdb |void |sv_setsv |NN SV *dstr|NULLOK SV *sstr
-Apmdb |void |sv_taint |NN SV* sv
+ApMdb |void |sv_setsv |NN SV *dstr|NULLOK SV *sstr
+ApMdb |void |sv_taint |NN SV* sv
ApdR |bool |sv_tainted |NN SV *const sv
Apd |int |sv_unmagic |NN SV *const sv|const int type
Apd |int |sv_unmagicext |NN SV *const sv|const int type|NULLOK MGVTBL *vtbl
-Apdmb |void |sv_unref |NN SV* sv
+ApdMb |void |sv_unref |NN SV* sv
Apd |void |sv_unref_flags |NN SV *const ref|const U32 flags
Apd |void |sv_untaint |NN SV *const sv
Apd |void |sv_upgrade |NN SV *const sv|svtype new_type
-Apdmb |void |sv_usepvn |NN SV* sv|NULLOK char* ptr|STRLEN len
+ApdMb |void |sv_usepvn |NN SV* sv|NULLOK char* ptr|STRLEN len
Apd |void |sv_usepvn_flags|NN SV *const sv|NULLOK char* ptr|const STRLEN len\
|const U32 flags
Apd |void |sv_vcatpvfn |NN SV *const sv|NN const char *const pat|const STRLEN patlen \
S |UV |turkic_lc |NN const U8 * const p0|NN const U8 * const e|NN U8* ustrp|NN STRLEN *lenp
S |UV |turkic_uc |NN const U8 * const p |NN const U8 * const e|NN U8* ustrp|NN STRLEN *lenp
#endif
-ApbmdD |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+ApbMdD |UV |to_utf8_lower |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
Axp |UV |_to_utf8_lower_flags|NN const U8 *p|NULLOK const U8* e \
|NN U8* ustrp|NULLOK STRLEN *lenp|bool flags \
|NN const char * const file|const int line
-ApbmdD |UV |to_utf8_upper |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+ApbMdD |UV |to_utf8_upper |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
Axp |UV |_to_utf8_upper_flags |NN const U8 *p|NULLOK const U8 *e \
|NN U8* ustrp|NULLOK STRLEN *lenp|bool flags \
|NN const char * const file|const int line
-ApbmdD |UV |to_utf8_title |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+ApbMdD |UV |to_utf8_title |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
Axp |UV |_to_utf8_title_flags |NN const U8 *p|NULLOK const U8* e \
|NN U8* ustrp|NULLOK STRLEN *lenp|bool flags \
|NN const char * const file|const int line
-ApbmdD |UV |to_utf8_fold |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+ApbMdD |UV |to_utf8_fold |NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
Axp |UV |_to_utf8_fold_flags|NN const U8 *p|NULLOK const U8 *e \
|NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags \
|NN const char * const file|const int line
#if defined(UNLINK_ALL_VERSIONS)
Ap |I32 |unlnk |NN const char* f
#endif
-Abpd |SSize_t|unpack_str |NN const char *pat|NN const char *patend|NN const char *s \
+AbpdD |SSize_t|unpack_str |NN const char *pat|NN const char *patend|NN const char *s \
|NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
|I32 ocnt|U32 flags
Apd |SSize_t|unpackstring |NN const char *pat|NN const char *patend|NN const char *s \
AbpdD |UV |utf8_to_uvuni |NN const U8 *s|NULLOK STRLEN *retlen
AbpxD |UV |valid_utf8_to_uvuni |NN const U8 *s|NULLOK STRLEN *retlen
AMpd |UV |utf8_to_uvchr_buf |NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
+Ai |UV |_utf8_to_uvchr_buf |NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
ApdD |UV |utf8_to_uvuni_buf |NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
px |bool |check_utf8_print |NN const U8 *s|const STRLEN len
|const U32 flags \
|NULLOK U32 * errors \
|NULLOK AV ** msgs
-AipTR |UV |valid_utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen
-Ap |UV |utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
+AipTRd |UV |valid_utf8_to_uvchr |NN const U8 *s|NULLOK STRLEN *retlen
+Adp |UV |utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
Adm |U8* |uvchr_to_utf8 |NN U8 *d|UV uv
Ap |U8* |uvuni_to_utf8 |NN U8 *d|UV uv
Admx |U8* |uvchr_to_utf8_flags_msgs|NN U8 *d|UV uv|UV flags|NULLOK HV ** msgs
AMpod |U8* |uvoffuni_to_utf8_flags |NN U8 *d|UV uv|const UV flags
Apx |U8* |uvoffuni_to_utf8_flags_msgs|NN U8 *d|UV uv|const UV flags|NULLOK HV** msgs
-Ap |U8* |uvuni_to_utf8_flags |NN U8 *d|UV uv|UV flags
+Adp |U8* |uvuni_to_utf8_flags |NN U8 *d|UV uv|UV flags
Apd |char* |pv_uni_display |NN SV *dsv|NN const U8 *spv|STRLEN len|STRLEN pvlim|UV flags
ApdR |char* |sv_uni_display |NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags
EXpR |Size_t |_inverse_folds |const UV cp \
Ap |I32 |whichsig_pv |NN const char* sig
Ap |I32 |whichsig_pvn |NN const char* sig|STRLEN len
: used to check for NULs in pathnames and other names
-AiR |bool |is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name
+AiRd |bool |is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name
#ifdef PERL_CORE
iTR |bool |should_warn_nl|NN const char *pv
#endif
Apd |void |sv_vcatpvf_mg |NN SV *const sv|NN const char *const pat \
|NULLOK va_list *const args
Apd |void |sv_catpv_mg |NN SV *const sv|NULLOK const char *const ptr
-Apdbm |void |sv_catpvn_mg |NN SV *sv|NN const char *ptr|STRLEN len
-Apdbm |void |sv_catsv_mg |NN SV *dsv|NULLOK SV *ssv
+ApdbM |void |sv_catpvn_mg |NN SV *sv|NN const char *ptr|STRLEN len
+ApdbM |void |sv_catsv_mg |NN SV *dsv|NULLOK SV *ssv
Afpd |void |sv_setpvf_mg |NN SV *const sv|NN const char *const pat|...
Apd |void |sv_vsetpvf_mg |NN SV *const sv|NN const char *const pat \
|NULLOK va_list *const args
Apd |void |sv_setiv_mg |NN SV *const sv|const IV i
-Apdb |void |sv_setpviv_mg |NN SV *const sv|const IV iv
+ApdbD |void |sv_setpviv_mg |NN SV *const sv|const IV iv
Apd |void |sv_setuv_mg |NN SV *const sv|const UV u
Apd |void |sv_setnv_mg |NN SV *const sv|const NV num
Apd |void |sv_setpv_mg |NN SV *const sv|NULLOK const char *const ptr
Apd |void |sv_setpvn_mg |NN SV *const sv|NN const char *const ptr|const STRLEN len
Apd |void |sv_setsv_mg |NN SV *const dstr|NULLOK SV *const sstr
-Apdbm |void |sv_usepvn_mg |NN SV *sv|NULLOK char *ptr|STRLEN len
+ApdbM |void |sv_usepvn_mg |NN SV *sv|NULLOK char *ptr|STRLEN len
ApR |MGVTBL*|get_vtbl |int vtbl_id
Apd |char* |pv_display |NN SV *dsv|NN const char *pv|STRLEN cur|STRLEN len \
|STRLEN pvlim
|I32 maxnest|bool dumpops|STRLEN pvlim
Ap |void |magic_dump |NULLOK const MAGIC *mg
Ap |void |reginitcolors
-ApdRmb |char* |sv_2pv_nolen |NN SV* sv
-ApdRmb |char* |sv_2pvutf8_nolen|NN SV* sv
-ApdRmb |char* |sv_2pvbyte_nolen|NN SV* sv
-ApmdbR |char* |sv_pv |NN SV *sv
-ApmdbR |char* |sv_pvutf8 |NN SV *sv
-ApmdbR |char* |sv_pvbyte |NN SV *sv
-Apmdb |STRLEN |sv_utf8_upgrade|NN SV *sv
+ApdRMb |char* |sv_2pv_nolen |NN SV* sv
+ApdRMb |char* |sv_2pvutf8_nolen|NN SV* sv
+ApdRMb |char* |sv_2pvbyte_nolen|NN SV* sv
+ApMdbR |char* |sv_pv |NN SV *sv
+ApMdbR |char* |sv_pvutf8 |NN SV *sv
+ApMdbR |char* |sv_pvbyte |NN SV *sv
+ApMdb |STRLEN |sv_utf8_upgrade|NN SV *sv
Amd |STRLEN |sv_utf8_upgrade_nomg|NN SV *sv
-Apd |bool |sv_utf8_downgrade|NN SV *const sv|const bool fail_ok
+ApdMb |bool |sv_utf8_downgrade|NN SV *const sv|const bool fail_ok
+Amd |bool |sv_utf8_downgrade_nomg|NN SV *const sv|const bool fail_ok
+Apd |bool |sv_utf8_downgrade_flags|NN SV *const sv|const bool fail_ok|const U32 flags
Apd |void |sv_utf8_encode |NN SV *const sv
Apd |bool |sv_utf8_decode |NN SV *const sv
-Apdmb |void |sv_force_normal|NN SV *sv
+ApdMb |void |sv_force_normal|NN SV *sv
Apd |void |sv_force_normal_flags|NN SV *const sv|const U32 flags
pX |SSize_t|tmps_grow_p |SSize_t ix
Apd |SV* |sv_rvweaken |NN SV *const sv
# endif
#endif
-Amop |const XOP * |custom_op_xop |NN const OP *o
-AbpR |const char * |custom_op_name |NN const OP *o
-AbpR |const char * |custom_op_desc |NN const OP *o
+Admop |const XOP * |custom_op_xop |NN const OP *o
+AbpRdD |const char * |custom_op_name |NN const OP *o
+AbpRdD |const char * |custom_op_desc |NN const OP *o
pRX |XOPRETANY |custom_op_get_field |NN const OP *o|const xop_flags_enum field
-Aop |void |custom_op_register |NN Perl_ppaddr_t ppaddr \
+Adop |void |custom_op_register |NN Perl_ppaddr_t ppaddr \
|NN const XOP *xop
-Adp |void |sv_nosharing |NULLOK SV *sv
-Adpbm |void |sv_nolocking |NULLOK SV *sv
+AdpD |void |sv_nosharing |NULLOK SV *sv
+AdpbD |void |sv_nolocking |NULLOK SV *sv
Adp |bool |sv_destroyable |NULLOK SV *sv
-Adpb |void |sv_nounlocking |NULLOK SV *sv
+AdpbD |void |sv_nounlocking |NULLOK SV *sv
Adp |int |nothreadhook
p |void |init_constants
#endif
#if defined(PERL_IN_PP_CTL_C)
-SR |OP* |docatch |Perl_ppaddr_t firstpp
+SdR |OP* |docatch |Perl_ppaddr_t firstpp
SR |OP* |dofindlabel |NN OP *o|NN const char *label|STRLEN len \
|U32 flags|NN OP **opstack|NN OP **oplimit
S |MAGIC *|doparseform |NN SV *sv
|const U8 op \
|const regnode_offset operand \
|const U32 depth
-ES |bool |regtail |NN RExC_state_t * pRExC_state \
+ESR |bool |regtail |NN RExC_state_t * pRExC_state \
|NN const regnode_offset p \
|NN const regnode_offset val \
|const U32 depth
ES |void |dump_trie_interim_table|NN const struct _reg_trie_data *trie\
|NULLOK HV* widecharmap|NN AV *revcharmap\
|U32 next_alloc|U32 depth
-ES |bool |regtail_study |NN RExC_state_t *pRExC_state \
+ESR |bool |regtail_study |NN RExC_state_t *pRExC_state \
|NN regnode_offset p|NN const regnode_offset val|U32 depth
# endif
#endif
Sf |void |printbuf |NN const char *const fmt|NN const char *const s
# endif
#endif
-EXxp |bool |validate_proto |NN SV *name|NULLOK SV *proto|bool warn \
+EdXxp |bool |validate_proto |NN SV *name|NULLOK SV *proto|bool warn \
|bool curstash
#if defined(PERL_IN_UNIVERSAL_C)
Apd |void |sv_catpv_flags |NN SV *dstr|NN const char *sstr \
|const I32 flags
Apd |void |sv_catsv_flags |NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
-Apmd |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
-Ap |STRLEN |sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
+Amd |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
+Adp |STRLEN |sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
Apd |char* |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
-Apmb |void |sv_copypv |NN SV *const dsv|NN SV *const ssv
+AdpMb |void |sv_copypv |NN SV *const dsv|NN SV *const ssv
Apmd |void |sv_copypv_nomg |NN SV *const dsv|NN SV *const ssv
Apd |void |sv_copypv_flags |NN SV *const dsv|NN SV *const ssv|const I32 flags
Apo |char* |my_atof2 |NN const char *orig|NN NV* value
Aop |const char *|PerlIO_context_layers|NULLOK const char *mode
#if defined(USE_PERLIO)
-Ap |int |PerlIO_close |NULLOK PerlIO *f
+Apdh |int |PerlIO_close |NULLOK PerlIO *f
Ap |int |PerlIO_fill |NULLOK PerlIO *f
-Ap |int |PerlIO_fileno |NULLOK PerlIO *f
-Ap |int |PerlIO_eof |NULLOK PerlIO *f
-Ap |int |PerlIO_error |NULLOK PerlIO *f
-Ap |int |PerlIO_flush |NULLOK PerlIO *f
-Ap |void |PerlIO_clearerr |NULLOK PerlIO *f
-Ap |void |PerlIO_set_cnt |NULLOK PerlIO *f|SSize_t cnt
-Ap |void |PerlIO_set_ptrcnt |NULLOK PerlIO *f|NULLOK STDCHAR *ptr \
+Apdh |int |PerlIO_fileno |NULLOK PerlIO *f
+Apdh |int |PerlIO_eof |NULLOK PerlIO *f
+Apdh |int |PerlIO_error |NULLOK PerlIO *f
+Apdh |int |PerlIO_flush |NULLOK PerlIO *f
+Apdh |void |PerlIO_clearerr |NULLOK PerlIO *f
+Apdh |void |PerlIO_set_cnt |NULLOK PerlIO *f|SSize_t cnt
+Apdh |void |PerlIO_set_ptrcnt |NULLOK PerlIO *f|NULLOK STDCHAR *ptr \
|SSize_t cnt
-Ap |void |PerlIO_setlinebuf |NULLOK PerlIO *f
-Ap |SSize_t|PerlIO_read |NULLOK PerlIO *f|NN void *vbuf \
+Apdh |void |PerlIO_setlinebuf |NULLOK PerlIO *f
+Apdh |SSize_t|PerlIO_read |NULLOK PerlIO *f|NN void *vbuf \
|Size_t count
-Ap |SSize_t|PerlIO_write |NULLOK PerlIO *f|NN const void *vbuf \
+Apdh |SSize_t|PerlIO_write |NULLOK PerlIO *f|NN const void *vbuf \
|Size_t count
Ap |SSize_t|PerlIO_unread |NULLOK PerlIO *f|NN const void *vbuf \
|Size_t count
-Ap |Off_t |PerlIO_tell |NULLOK PerlIO *f
-Ap |int |PerlIO_seek |NULLOK PerlIO *f|Off_t offset|int whence
+Apdh |Off_t |PerlIO_tell |NULLOK PerlIO *f
+Apdh |int |PerlIO_seek |NULLOK PerlIO *f|Off_t offset|int whence
Xp |void |PerlIO_save_errno |NULLOK PerlIO *f
Xp |void |PerlIO_restore_errno |NULLOK PerlIO *f
-Ap |STDCHAR *|PerlIO_get_base |NULLOK PerlIO *f
-Ap |STDCHAR *|PerlIO_get_ptr |NULLOK PerlIO *f
-ApR |SSize_t |PerlIO_get_bufsiz |NULLOK PerlIO *f
-ApR |SSize_t |PerlIO_get_cnt |NULLOK PerlIO *f
+Apdh |STDCHAR *|PerlIO_get_base |NULLOK PerlIO *f
+Apdh |STDCHAR *|PerlIO_get_ptr |NULLOK PerlIO *f
+ApRdh |SSize_t |PerlIO_get_bufsiz |NULLOK PerlIO *f
+ApRdh |SSize_t |PerlIO_get_cnt |NULLOK PerlIO *f
-ApR |PerlIO *|PerlIO_stdin
-ApR |PerlIO *|PerlIO_stdout
-ApR |PerlIO *|PerlIO_stderr
+ApRdh |PerlIO *|PerlIO_stdin
+ApRdh |PerlIO *|PerlIO_stdout
+ApRdh |PerlIO *|PerlIO_stderr
#endif /* USE_PERLIO */
: Only used in dump.c
pTX |void|set_padlist| NN CV * cv | NULLOK PADLIST * padlist
#endif
#if defined(PERL_IN_PAD_C)
-S |PADOFFSET|pad_alloc_name|NN PADNAME *name|U32 flags \
+Sd |PADOFFSET|pad_alloc_name|NN PADNAME *name|U32 flags \
|NULLOK HV *typestash|NULLOK HV *ourstash
#endif
Apd |PADOFFSET|pad_add_name_pvn|NN const char *namepv|STRLEN namelen\
p |CV* |cv_clone_into |NN CV* proto|NN CV *target
pd |void |pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
pdX |void |pad_push |NN PADLIST *padlist|int depth
-ApbdR |HV* |pad_compname_type|const PADOFFSET po
+ApbdRM |HV* |pad_compname_type|const PADOFFSET po
AxpdRT |PADNAME *|padnamelist_fetch|NN PADNAMELIST *pnl|SSize_t key
Xop |void |padnamelist_free|NN PADNAMELIST *pnl
Axpd |PADNAME **|padnamelist_store|NN PADNAMELIST *pnl|SSize_t key \
Xop |void |padname_free |NN PADNAME *pn
#if defined(USE_ITHREADS)
pdR |PADNAME *|padname_dup |NN PADNAME *src|NN CLONE_PARAMS *param
-pR |PADNAMELIST *|padnamelist_dup|NN PADNAMELIST *srcpad \
+pdR |PADNAMELIST *|padnamelist_dup|NN PADNAMELIST *srcpad \
|NN CLONE_PARAMS *param
pdR |PADLIST *|padlist_dup |NN PADLIST *srcpad \
|NN CLONE_PARAMS *param
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 \
+pd |void |hv_ename_add |NN HV *hv|NN const char *name|U32 len \
|U32 flags
-p |void |hv_ename_delete|NN HV *hv|NN const char *name|U32 len \
+pd |void |hv_ename_delete|NN HV *hv|NN const char *name|U32 len \
|U32 flags
: Used in dump.c and hv.c
pox |AV** |hv_backreferences_p |NN HV *hv
#endif
#ifdef PERL_DONT_CREATE_GVSV
-Apbm |GV* |gv_SVadd |NULLOK GV *gv
+ApbM |GV* |gv_SVadd |NULLOK GV *gv
#endif
#if defined(PERL_IN_UTIL_C)
S |bool |ckwarn_common |U32 w
: Used by SvRX and SvRXOK
XExop |REGEXP *|get_re_arg|NULLOK SV *sv
-Aop |SV* |mro_get_private_data|NN struct mro_meta *const smeta \
+Aopdh |SV* |mro_get_private_data|NN struct mro_meta *const smeta \
|NN const struct mro_alg *const which
-Aop |SV* |mro_set_private_data|NN struct mro_meta *const smeta \
+Aopdh |SV* |mro_set_private_data|NN struct mro_meta *const smeta \
|NN const struct mro_alg *const which \
|NN SV *const data
Aop |const struct mro_alg *|mro_get_from_name|NN SV *name
-Aop |void |mro_register |NN const struct mro_alg *mro
+Aopd |void |mro_register |NN const struct mro_alg *mro
Aop |void |mro_set_mro |NN struct mro_meta *const meta \
|NN SV *const name
: Used in HvMROMETA(), which is public.
ApoT |void |sys_init |NN int* argc|NN char*** argv
ApoT |void |sys_init3 |NN int* argc|NN char*** argv|NN char*** env
ApoT |void |sys_term
-AMpx |const char *|cop_fetch_label|NN COP *const cop \
+AMpxd |const char *|cop_fetch_label|NN COP *const cop \
|NULLOK STRLEN *len|NULLOK U32 *flags
: Only used in op.c and the perl compiler
-AMpx |void|cop_store_label \
+AMpxd |void|cop_store_label \
|NN COP *const cop|NN const char *label|STRLEN len|U32 flags
epo |int |keyword_plugin_standard|NN char* keyword_ptr|STRLEN keyword_len|NN OP** op_ptr