This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
manifest.t: Clarify a test's wording
[perl5.git] / embed.fnc
index 7ccff7c..d2a08ee 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -12,7 +12,7 @@
 :
 :   A  Member of public API:
 :
-:         add entry to global.sym (unless x or m);
+:         add entry to the list of exported symbols (unless x or m);
 :         any doc entry goes in perlapi.pod rather than perlintern.pod
 :         makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
 :
@@ -23,7 +23,7 @@
 :   b  Binary backward compatibility; function is a macro
 :      but has also Perl_ implementation (which is exported):
 :
-:         add entry to global.sym;
+:         add entry to the list of exported symbols;
 :         don't define PERL_ARGS_ASSERT_FOO
 :
 :   D  Function is deprecated:
@@ -59,7 +59,7 @@
 :   m  Implemented as a macro:
 :
 :         suppress proto.h entry
-:         suppress global.sym entry
+:         suppress entry in the list of exported symbols
 :         suppress embed.h entry
 :
 :   n  Has no implicit interpreter/thread context argument:
 :
 :   X  Explicitly exported:
 :
-:         add entry to global.sym, unless x or m
+:         add entry to the list of exported symbols, unless x or m
 :
 :   x  Not exported
 :
-:         suppress entry in global.sym
+:         suppress entry in the list of exported symbols
 :
 : (see also L<perlguts/Internal Functions> for those flags.)
 :
@@ -263,11 +263,16 @@ Afnp      |void   |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
 Afnp   |int    |fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
 Afnp   |int    |printf_nocontext|NN const char *format|...
 #endif
+: Used in pp.c
+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 \
+                               |const int opnum
 : Used in sv.c
 p      |void   |cv_ckproto_len |NN const CV* cv|NULLOK const GV* gv\
                                |NULLOK const char* p|const STRLEN len
 : Used in pp.c and pp_sys.c
-pd     |CV*    |cv_clone       |NN CV* proto
 ApdR   |SV*    |gv_const_sv    |NN GV* gv
 ApdR   |SV*    |cv_const_sv    |NULLOK const CV *const cv
 : Used in pad.c
@@ -312,7 +317,7 @@ Ap  |bool   |do_close       |NULLOK GV* gv|bool not_implicit
 p      |bool   |do_eof         |NN GV* gv
 
 #ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-pmb    |bool   |do_exec        |NN const char* cmd
+pm     |bool   |do_exec        |NN const char* cmd
 #else
 p      |bool   |do_exec        |NN const char* cmd
 #endif
@@ -401,6 +406,8 @@ p   |char*  |find_script    |NN const char *scriptname|bool dosearch \
                                |NULLOK const char *const *const search_ext|I32 flags
 #if defined(PERL_IN_OP_C)
 s      |OP*    |force_list     |NULLOK OP* arg
+i      |OP*    |op_integerize  |NN OP *o
+i      |OP*    |op_std_init    |NN OP *o
 : FIXME
 s      |OP*    |fold_constants |NN OP *o
 #endif
@@ -538,13 +545,14 @@ p |void   |init_debugger
 Ap     |void   |init_stacks
 Ap     |void   |init_tm        |NN struct tm *ptm
 : Used in perly.y
-pd     |U32    |intro_my
 AnpPR  |char*  |instr          |NN const char* big|NN const char* little
 : Used in sv.c
 p      |bool   |io_close       |NN IO* io|bool not_implicit
 : Used in perly.y
 pR     |OP*    |invert         |NULLOK OP* cmd
 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
@@ -620,7 +628,7 @@ p   |OP*    |jmaybe         |NN OP *o
 pP     |I32    |keyword        |NN const char *name|I32 len|bool all_keywords
 #if defined(PERL_IN_OP_C)
 s      |OP*    |opt_scalarhv   |NN OP* rep_op
-s      |OP*    |is_inplace_av  |NN OP* o|NULLOK OP* oright
+s      |void   |inplace_aassign        |NN OP* o
 #endif
 Ap     |void   |leave_scope    |I32 base
 : Public lexer API
@@ -755,8 +763,10 @@ Ap |I32    |mg_size        |NN SV* sv
 Ap     |void   |mini_mktime    |NN struct tm *ptm
 AMmd   |OP*    |op_lvalue      |NULLOK OP* o|I32 type
 poX    |OP*    |op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
-: To be removed after 5.14 (see [perl #78908]):
-EXp    |OP*    |mod            |NULLOK OP* o|I32 type
+p      |void   |finalize_optree                |NN OP* o
+#if defined(PERL_IN_OP_C)
+s      |void   |finalize_op    |NN OP* o
+#endif
 : Used in op.c and pp_sys.c
 p      |int    |mode_from_discipline|NULLOK const char* s|STRLEN len
 Ap     |const char*    |moreswitches   |NN const char* s
@@ -781,8 +791,10 @@ AnpP       |I32    |my_memcmp      |NN const char* s1|NN const char* s2|I32 len
 #if !defined(HAS_MEMSET)
 Anp    |void*  |my_memset      |NN char* loc|I32 ch|I32 len
 #endif
+#if !defined(PERL_IMPLICIT_SYS)
 Ap     |I32    |my_pclose      |NULLOK PerlIO* ptr
 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
@@ -798,6 +810,9 @@ p   |void   |my_unexec
 Apa    |OP*    |newANONLIST    |NULLOK OP* o
 Apa    |OP*    |newANONHASH    |NULLOK OP* o
 Ap     |OP*    |newANONSUB     |I32 floor|NULLOK OP* proto|NULLOK OP* block
+#if defined(PERL_IN_OP_C)
+i      |bool   |aassign_common_vars    |NULLOK OP* o
+#endif
 Apda   |OP*    |newASSIGNOP    |I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
 Apda   |OP*    |newCONDOP      |I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
 Apd    |CV*    |newCONSTSUB    |NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
@@ -869,6 +884,8 @@ Apd |CV*    |rv2cv_op_cv    |NN OP *cvop|U32 flags
 Apd    |OP*    |ck_entersub_args_list|NN OP *entersubop
 Apd    |OP*    |ck_entersub_args_proto|NN OP *entersubop|NN GV *namegv|NN SV *protosv
 Apd    |OP*    |ck_entersub_args_proto_or_list|NN OP *entersubop|NN GV *namegv|NN SV *protosv
+po     |OP*    |ck_entersub_args_core|NN OP *entersubop|NN GV *namegv \
+                                     |NN SV *protosv
 Apd    |void   |cv_get_call_checker|NN CV *cv|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p
 Apd    |void   |cv_set_call_checker|NN CV *cv|NN Perl_call_checker ckfun|NN SV *ckobj
 Apa    |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
@@ -898,32 +915,14 @@ p |void   |package        |NN OP* o
 #endif
 : Used in perly.y
 p      |void   |package_version|NN OP* v
-: Used in op.c
-pd     |PADOFFSET|pad_alloc    |I32 optype|U32 tmptype
 : Used in toke.c and perly.y
 p      |PADOFFSET|allocmy      |NN const char *const name|const STRLEN len\
                                |const U32 flags
-: Used in op.c and toke.c
-AMpdR  |PADOFFSET|pad_findmy   |NN const char* name|STRLEN len|U32 flags
-ApD    |PADOFFSET|find_rundefsvoffset  |
-: Used in pp.c
-Ap     |SV*    |find_rundefsv  |
 : Used in perly.y
 pR     |OP*    |oopsAV         |NN OP* o
 : Used in perly.y
 pR     |OP*    |oopsHV         |NN OP* o
-: Defined in pad.c, used only in op.c
-pd     |void   |pad_leavemy
-#ifdef DEBUGGING
-Apd    |SV*    |pad_sv         |PADOFFSET po
-#endif
-: Defined in pad.c, used only in op.c
-pd     |void   |pad_free       |PADOFFSET po
-#if defined(PERL_IN_PAD_C)
-sd     |void   |pad_reset
-#endif
-: Used in op.c
-pd     |void   |pad_swipe      |PADOFFSET po|bool refadjust
+
 : peephole optimiser
 p      |void   |peep           |NULLOK OP* o
 p      |void   |rpeep          |NULLOK OP* o
@@ -1107,7 +1106,6 @@ Ap        |void   |save_padsv_and_mortalize|PADOFFSET off
 Ap     |void   |save_sptr      |NN SV** sptr
 Ap     |SV*    |save_svref     |NN SV** sptr
 Ap     |void   |save_pushptr   |NULLOK void *const ptr|const int type
-: Used by SAVECOPARYBASE() in op.c
 Ap     |void   |save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
 : Used by SAVESWITCHSTACK() in pp.c
 Ap     |void   |save_pushptrptr|NULLOK void *const ptr1 \
@@ -1300,10 +1298,6 @@ Apd      |void   |sv_vsetpvfn    |NN SV *const sv|NN const char *const pat|const STRLEN pa
 ApR    |NV     |str_to_version |NN SV *sv
 Ap     |SV*    |swash_init     |NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
 Ap     |UV     |swash_fetch    |NN SV *swash|NN const U8 *ptr|bool do_utf8
-EXMpR  |HV*    |_swash_inversion_hash  |NN SV* const swash
-EXMpR  |SV*    |_new_invlist   |IV initial_size
-EXMpR  |SV*    |_swash_to_invlist      |NN SV* const swash
-EXMp   |void   |_append_range_to_invlist   |NN SV* const invlist|const UV start|const UV end
 #ifdef PERL_IN_REGCOMP_C
 EiMR   |SV*    |add_cp_to_invlist      |NULLOK SV* invlist|const UV cp
 EsMR   |SV*    |add_range_to_invlist   |NULLOK SV* invlist|const UV start|const UV end
@@ -1320,10 +1314,16 @@ EiMR    |SV*    |invlist_clone  |NN SV* const invlist
 EiMR   |UV*    |get_invlist_iter_addr  |NN SV* invlist
 EiM    |void   |invlist_iterinit|NN SV* invlist
 EsMR   |bool   |invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
-EpM    |void   |_invlist_intersection  |NN SV* const a|NN SV* const b|NN SV** i
-EpM    |void   |_invlist_union |NN SV* const a|NN SV* const b|NN SV** output
-EpM    |void   |_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result
-EpM    |void   |_invlist_invert|NN SV* const invlist
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+EXpM   |void   |_invlist_intersection  |NN SV* const a|NN SV* const b|NN SV** i
+EXpM   |void   |_invlist_union |NN SV* const a|NN SV* const b|NN SV** output
+EXpM   |void   |_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result
+EXpM   |void   |_invlist_invert|NN SV* const invlist
+EXMpR  |HV*    |_swash_inversion_hash  |NN SV* const swash
+EXMpR  |SV*    |_new_invlist   |IV initial_size
+EXMpR  |SV*    |_swash_to_invlist      |NN SV* const swash
+EXMp   |void   |_append_range_to_invlist   |NN SV* const invlist|const UV start|const UV end
 #endif
 Ap     |void   |taint_env
 Ap     |void   |taint_proper   |NULLOK const char* f|NN const char *const s
@@ -1388,7 +1388,7 @@ ApdR      |char*  |sv_uni_display |NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags
 : Used by Data::Alias
 EXp    |void   |vivify_defelem |NN SV* sv
 : Used in pp.c
-p      |void   |vivify_ref     |NN SV* sv|U32 to_what
+pR     |SV*    |vivify_ref     |NN SV* sv|U32 to_what
 : Used in pp_sys.c
 p      |I32    |wait4pid       |Pid_t pid|NN int* statusp|int flags
 : Used in locale.c and perl.c
@@ -1641,16 +1641,16 @@ sR      |OP*    |search_const   |NN OP *o
 sR     |OP*    |new_logop      |I32 type|I32 flags|NN OP **firstp|NN OP **otherp
 s      |void   |simplify_sort  |NN OP *o
 s      |const char*    |gv_ename       |NN GV *gv
-sRn    |bool   |scalar_mod_type|NN const OP *o|I32 type
+sRn    |bool   |scalar_mod_type|NULLOK const OP *o|I32 type
 s      |OP *   |my_kid         |NULLOK OP *o|NULLOK OP *attrs|NN OP **imopsp
 s      |OP *   |dup_attrlist   |NN OP *o
 s      |void   |apply_attrs    |NN HV *stash|NN SV *target|NULLOK OP *attrs|bool for_my
 s      |void   |apply_attrs_my |NN HV *stash|NN OP *target|NULLOK OP *attrs|NN OP **imopsp
 s      |void   |bad_type       |I32 n|NN const char *t|NN const char *name|NN const OP *kid
-s      |void   |no_bareword_allowed|NN const OP *o
+s      |void   |no_bareword_allowed|NN OP *o
 sR     |OP*    |no_fh_allowed|NN OP *o
 sR     |OP*    |too_few_arguments|NN OP *o|NN const char* name
-sR     |OP*    |too_many_arguments|NN OP *o|NN const char* name
+s      |OP*    |too_many_arguments|NN OP *o|NN const char* name
 s      |bool   |looks_like_bool|NN const OP* o
 s      |OP*    |newGIVWHENOP   |NULLOK OP* cond|NN OP *block \
                                |I32 enter_opcode|I32 leave_opcode \
@@ -1755,7 +1755,8 @@ sR        |I32    |run_user_filter|int idx|NN SV *buf_sv|int maxlen
 sR     |PMOP*  |make_matcher   |NN REGEXP* re
 sR     |bool   |matcher_matches_sv|NN PMOP* matcher|NN SV* sv
 s      |void   |destroy_matcher|NN PMOP* matcher
-s      |OP*    |do_smartmatch  |NULLOK HV* seen_this|NULLOK HV* seen_other
+s      |OP*    |do_smartmatch  |NULLOK HV* seen_this \
+                               |NULLOK HV* seen_other|const bool copied
 #endif
 
 #if defined(PERL_IN_PP_HOT_C)
@@ -2128,51 +2129,69 @@ s       |void   |deb_stack_n    |NN SV** stack_base|I32 stack_min \
                                |I32 stack_max|I32 mark_min|I32 mark_max
 #endif
 
-: Used in perl.c, pp_ctl.c, toke.c
-pda    |PADLIST*|pad_new       |int flags
-: Only used in op.c
-Mpd    |PADOFFSET|pad_add_name |NN const char *name|const STRLEN len\
+: pad API
+#ifdef PERL_MAD
+Mnpd   |void   |pad_peg        |NN const char* s
+#endif
+Apda   |PADLIST*|pad_new       |int flags
+#if defined(PERL_IN_PAD_C)
+s      |PADOFFSET|pad_alloc_name|NN SV *namesv|U32 flags \
+                               |NULLOK HV *typestash|NULLOK HV *ourstash
+#endif
+Apd    |PADOFFSET|pad_add_name_pvn|NN const char *namepv|STRLEN namelen\
+                               |U32 flags|NULLOK HV *typestash\
+                               |NULLOK HV *ourstash
+Apd    |PADOFFSET|pad_add_name_pv|NN const char *name\
                                |const U32 flags|NULLOK HV *typestash\
                                |NULLOK HV *ourstash
-: Only used in op.c
-pd     |PADOFFSET|pad_add_anon |NN SV* sv|OPCODE op_type
+Apd    |PADOFFSET|pad_add_name_sv|NN SV *name\
+                               |U32 flags|NULLOK HV *typestash\
+                               |NULLOK HV *ourstash
+AMpd   |PADOFFSET|pad_alloc    |I32 optype|U32 tmptype
+Apd    |PADOFFSET|pad_add_anon |NN CV* func|I32 optype
 #if defined(PERL_IN_PAD_C)
-sd     |void   |pad_check_dup  |NN SV *name|const U32 flags \
-                               |NULLOK const HV *ourstash
+sd     |void   |pad_check_dup  |NN SV *name|U32 flags|NULLOK const HV *ourstash
+#endif
+ApdR   |PADOFFSET|pad_findmy_pvn|NN const char* namepv|STRLEN namelen|U32 flags
+ApdR   |PADOFFSET|pad_findmy_pv|NN const char* name|U32 flags
+ApdR   |PADOFFSET|pad_findmy_sv|NN SV* name|U32 flags
+ApdD   |PADOFFSET|find_rundefsvoffset  |
+Apd    |SV*    |find_rundefsv  |
+: Used in pp.c
+p      |SV*    |find_rundefsv2 |NN CV *cv|U32 seq
+#if defined(PERL_IN_PAD_C)
+sd     |PADOFFSET|pad_findlex  |NN const char *namepv|STRLEN namelen|U32 flags \
+                               |NN const CV* cv|U32 seq|int warn \
+                               |NULLOK SV** out_capture|NN SV** out_name_sv \
+                               |NN int *out_flags
 #endif
 #ifdef DEBUGGING
-: Only used PAD_SETSV() in op.c
-pd     |void   |pad_setsv      |PADOFFSET po|NN SV* sv
+Apd    |SV*    |pad_sv         |PADOFFSET po
+Apd    |void   |pad_setsv      |PADOFFSET po|NN SV* sv
 #endif
-: Only used in op.c
 pd     |void   |pad_block_start|int full
-: Only used in op.c
-pd     |void   |pad_tidy       |padtidy_type type
-: Used in dump.c
-pd     |void   |do_dump_pad    |I32 level|NN PerlIO *file|NULLOK PADLIST *padlist|int full
-: Only used in op.c
-pd     |void   |pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
-
-: Used in pp_ctl.c, pp_hot.c, pp_sort.c
-pdX    |void   |pad_push       |NN PADLIST *padlist|int depth
-: Only used in PAD_COMPNAME_TYPE() in op.c
-pR     |HV*    |pad_compname_type|const PADOFFSET po
-: Used in sv.c
-#if defined(USE_ITHREADS)
-pR     |AV*    |padlist_dup    |NULLOK AV *const srcpad \
-                               |NN CLONE_PARAMS *const param
+pd     |U32    |intro_my
+pd     |void   |pad_leavemy
+pd     |void   |pad_swipe      |PADOFFSET po|bool refadjust
+#if defined(PERL_IN_PAD_C)
+sd     |void   |pad_reset
 #endif
-
+AMpd   |void   |pad_tidy       |padtidy_type type
+pd     |void   |pad_free       |PADOFFSET po
+pd     |void   |do_dump_pad    |I32 level|NN PerlIO *file|NULLOK PADLIST *padlist|int full
 #if defined(PERL_IN_PAD_C)
-sd     |PADOFFSET|pad_findlex  |NN const char *name|NN const CV* cv|U32 seq|int warn \
-                               |NULLOK SV** out_capture|NN SV** out_name_sv \
-                               |NN int *out_flags
-s      |PADOFFSET|pad_add_name_sv|NN SV *namesv|const U32 flags \
-                               |NULLOK HV *typestash|NULLOK HV *ourstash
 #  if defined(DEBUGGING)
 sd     |void   |cv_dump        |NN const CV *cv|NN const char *title
 #  endif
 #endif
+Apd    |CV*    |cv_clone       |NN CV* proto
+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
+ApdR   |HV*    |pad_compname_type|const PADOFFSET po
+#if defined(USE_ITHREADS)
+pdR    |AV*    |padlist_dup    |NULLOK AV *srcpad|NN CLONE_PARAMS *param
+#endif
+
 ApdR   |CV*    |find_runcv     |NULLOK U32 *db_seqp
 : Only used in perl.c
 p      |void   |free_tied_hv_pool
@@ -2298,8 +2317,6 @@ np        |void   |my_swabn       |NN void* ptr|int n
 
 Ap     |GV*    |gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type
 Ap     |GV*    |gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type
-: Only used in pp.c
-dpR    |bool   |is_gv_magical_sv|NN SV *const name_sv|U32 flags
 
 ApR    |bool   |stashpv_hvname_match|NN const COP *c|NN const HV *hv
 
@@ -2357,7 +2374,6 @@ Apno     |Size_t |my_strlcpy     |NULLOK char *dst|NULLOK const char *src|Size_t
 #endif
 
 #ifdef PERL_MAD
-Mnp    |void   |pad_peg        |NN const char* s
 #if defined(PERL_IN_DUMP_C)
 sf     |void   |xmldump_attr   |I32 level|NN PerlIO *file|NN const char* pat \
                                |...
@@ -2455,10 +2471,10 @@ p       |void   |boot_core_mro
 Apon   |void   |sys_init       |NN int* argc|NN char*** argv
 Apon   |void   |sys_init3      |NN int* argc|NN char*** argv|NN char*** env
 Apon   |void   |sys_term
-ApoM   |const char *|fetch_cop_label|NN COP *const cop \
+ApoM   |const char *|cop_fetch_label|NN COP *const cop \
                |NULLOK STRLEN *len|NULLOK U32 *flags
-: Only used  in op.c
-xpoM   |void|store_cop_label \
+: Only used  in op.c and the perl compiler
+ApoM   |void|cop_store_label \
                |NN COP *const cop|NN const char *label|STRLEN len|U32 flags
 
 xpo    |int    |keyword_plugin_standard|NN char* keyword_ptr|STRLEN keyword_len|NN OP** op_ptr