This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
In Perl_load_module_nocontext(), ver can actually be NULL.
[perl5.git] / embed.fnc
index 5d2f383..e47ecc1 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -137,13 +137,13 @@ pR        |OP*    |convert        |I32 optype|I32 flags|NULLOK OP* o
 pM     |PERL_CONTEXT*  |create_eval_scope|U32 flags
 : croak()'s first parm can be NULL.  Otherwise, mod_perl breaks.
 Afprd  |void   |croak          |NULLOK const char* pat|...
-Apr    |void   |vcroak         |NN const char* pat|NULLOK va_list* args
+Apr    |void   |vcroak         |NULLOK const char* pat|NULLOK va_list* args
 #if defined(PERL_IMPLICIT_CONTEXT)
 Afnrp  |void   |croak_nocontext|NN const char* pat|...
 Afnp   |OP*    |die_nocontext  |NN const char* pat|...
 Afnp   |void   |deb_nocontext  |NN const char* pat|...
 Afnp   |char*  |form_nocontext |NN const char* pat|...
-Anp    |void   |load_module_nocontext|U32 flags|NN SV* name|NN SV* ver|...
+Anp    |void   |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
 Afnp   |SV*    |mess_nocontext |NN const char* pat|...
 Afnp   |void   |warn_nocontext |NN const char* pat|...
 Afnp   |void   |warner_nocontext|U32 err|NN const char* pat|...
@@ -297,9 +297,9 @@ Ap  |void   |gv_init        |NN GV* gv|NULLOK HV* stash|NN const char* name|STRLEN len|int
 Ap     |void   |gv_name_set    |NN GV* gv|NN const char *name|U32 len|U32 flags
 Apd    |HV*    |gv_stashpv     |NN const char* name|I32 flags
 Apd    |HV*    |gv_stashpvn    |NN const char* name|U32 namelen|I32 flags
-Apd    |HV*    |gv_stashsv     |NULLOK SV* sv|I32 flags
+Apd    |HV*    |gv_stashsv     |NN SV* sv|I32 flags
 Apd    |void   |hv_clear       |NULLOK HV* tb
-poM    |HV *   |hv_copy_hints_hv|NN HV *const ohv
+poM    |HV *   |hv_copy_hints_hv|NULLOK HV *const ohv
 Ap     |void   |hv_delayfree_ent|NN HV* hv|NULLOK HE* entry
 Abmd   |SV*    |hv_delete      |NULLOK HV* tb|NN const char* key|I32 klen \
                                |I32 flags
@@ -486,8 +486,8 @@ p   |char*  |mem_collxfrm   |NN const char* s|STRLEN len|NN STRLEN* xlen
 Afp    |SV*    |mess           |NN const char* pat|...
 Ap     |SV*    |vmess          |NN const char* pat|NULLOK va_list* args
 EXp    |void   |qerror         |NN SV* err
-Apd    |void   |sortsv         |NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp
-Apd    |void   |sortsv_flags   |NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
+Apd    |void   |sortsv         |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp
+Apd    |void   |sortsv_flags   |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
 Apd    |int    |mg_clear       |NN SV* sv
 Apd    |int    |mg_copy        |NN SV* sv|NN SV* nsv|NULLOK const char* key|I32 klen
 pd     |void   |mg_localize    |NN SV* sv|NN SV* nsv
@@ -688,7 +688,7 @@ Ap  |I32    |pregexec       |NN REGEXP * const prog|NN char* stringarg \
 Ap     |void   |pregfree       |NULLOK REGEXP* r
 Ap     |void   |pregfree2      |NN REGEXP* prog
 EXp    |REGEXP*|reg_temp_copy  |NN REGEXP* r
-Ap     |void   |regfree_internal|NULLOK REGEXP * const r
+Ap     |void   |regfree_internal|NN REGEXP * const rx
 #if defined(USE_ITHREADS)
 Ap     |void*  |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
 #endif
@@ -701,7 +701,7 @@ Ap  |SV*    |re_intuit_string|NN REGEXP * const rx
 Ap     |I32    |regexec_flags  |NN REGEXP * const rx|NN char* stringarg \
                                |NN char* strend|NN char* strbeg|I32 minend \
                                |NN SV* screamer|NULLOK void* data|U32 flags
-ApR    |regnode*|regnext       |NN regnode* p
+ApR    |regnode*|regnext       |NULLOK regnode* p
 
 EXp |SV*|reg_named_buff          |NN REGEXP * const rx|NULLOK SV * const key \
                                  |NULLOK SV * const value|const U32 flags
@@ -769,7 +769,7 @@ Ap  |void   |save_iv        |NN IV* iv
 Ap     |void   |save_list      |NN SV** sarg|I32 maxsarg
 Ap     |void   |save_long      |NN long* longp
 Ap     |void   |save_mortalizesv|NN SV* sv
-Ap     |void   |save_nogv      |NULLOK GV* gv
+Ap     |void   |save_nogv      |NN GV* gv
 p      |void   |save_op
 Ap     |SV*    |save_scalar    |NN GV* gv
 Ap     |void   |save_pptr      |NN char** pptr
@@ -812,18 +812,18 @@ Apd       |IO*    |sv_2io         |NN SV* sv
 s      |bool   |glob_2number   |NN GV* const gv
 s      |char*  |glob_2pv       |NN GV* const gv|NULLOK STRLEN * const len
 #endif
-Amb    |IV     |sv_2iv         |NN SV* sv
-Apd    |IV     |sv_2iv_flags   |NN SV *const sv|const I32 flags
+Amb    |IV     |sv_2iv         |NULLOK SV *sv
+Apd    |IV     |sv_2iv_flags   |NULLOK SV *const sv|const I32 flags
 Apd    |SV*    |sv_2mortal     |NULLOK SV* sv
-Apd    |NV     |sv_2nv         |NN SV *const sv
+Apd    |NV     |sv_2nv         |NULLOK SV *const sv
 pMd    |SV*    |sv_2num        |NN SV *const sv
-Amb    |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
+Amb    |char*  |sv_2pv         |NULLOK SV *sv|NULLOK STRLEN *lp
+Apd    |char*  |sv_2pv_flags   |NULLOK SV *const sv|NULLOK STRLEN *const lp|const I32 flags
 Apd    |char*  |sv_2pvutf8     |NN SV* sv|NULLOK STRLEN* lp
 Apd    |char*  |sv_2pvbyte     |NN SV *const sv|NULLOK STRLEN *const lp
 Ap     |char*  |sv_pvn_nomg    |NN SV* sv|NULLOK STRLEN* lp
-Amb    |UV     |sv_2uv         |NN SV* sv
-Apd    |UV     |sv_2uv_flags   |NN SV *const sv|const I32 flags
+Amb    |UV     |sv_2uv         |NULLOK SV *sv
+Apd    |UV     |sv_2uv_flags   |NULLOK SV *const sv|const I32 flags
 Apd    |IV     |sv_iv          |NN SV* sv
 Apd    |UV     |sv_uv          |NN SV* sv
 Apd    |NV     |sv_nv          |NN SV* sv
@@ -836,21 +836,21 @@ Apd       |int    |sv_backoff     |NN SV *const sv
 Apd    |SV*    |sv_bless       |NN SV* sv|NN HV* stash
 Afpd   |void   |sv_catpvf      |NN SV* sv|NN const char* pat|...
 Apd    |void   |sv_vcatpvf     |NN SV* sv|NN const char* pat|NULLOK va_list* args
-Apd    |void   |sv_catpv       |NN SV* sv|NN const char* ptr
+Apd    |void   |sv_catpv       |NN SV* sv|NULLOK const char* ptr
 Amdb   |void   |sv_catpvn      |NN SV* sv|NN const char* ptr|STRLEN len
 Amdb   |void   |sv_catsv       |NN SV* dsv|NULLOK SV* ssv
 Apd    |void   |sv_chop        |NN SV* sv|NULLOK const char* ptr
 pd     |I32    |sv_clean_all
 pd     |void   |sv_clean_objs
 Apd    |void   |sv_clear       |NN SV* sv
-Apd    |I32    |sv_cmp         |NN SV* sv1|NN SV* sv2
-Apd    |I32    |sv_cmp_locale  |NN SV* sv1|NN SV* sv2
+Apd    |I32    |sv_cmp         |NULLOK SV* sv1|NULLOK SV* sv2
+Apd    |I32    |sv_cmp_locale  |NULLOK SV* sv1|NULLOK SV* sv2
 #if defined(USE_LOCALE_COLLATE)
 Apd    |char*  |sv_collxfrm    |NN SV* sv|NN STRLEN* nxp
 #endif
 Ap     |OP*    |sv_compile_2op |NN SV* sv|NN OP** startp|NN const char* code|NN PAD** padp
 Apd    |int    |getcwd_sv      |NN SV* sv
-Apd    |void   |sv_dec         |NN SV* sv
+Apd    |void   |sv_dec         |NULLOK SV* sv
 Ap     |void   |sv_dump        |NN SV* sv
 ApdR   |bool   |sv_derived_from|NN SV* sv|NN const char *const name
 ApdR   |bool   |sv_does        |NN SV* sv|NN const char *const name
@@ -860,7 +860,7 @@ poMX        |void   |sv_free2       |NN SV* sv
 pd     |void   |sv_free_arenas
 Apd    |char*  |sv_gets        |NN SV* sv|NN PerlIO* fp|I32 append
 Apd    |char*  |sv_grow        |NN SV *const sv|STRLEN newlen
-Apd    |void   |sv_inc         |NN SV* sv
+Apd    |void   |sv_inc         |NULLOK SV* sv
 Apd    |void   |sv_insert      |NN SV* bigsv|STRLEN offset|STRLEN len \
                                |NN const char* little|STRLEN littlelen
 Apd    |int    |sv_isa         |NULLOK SV* sv|NN const char* name
@@ -1011,7 +1011,7 @@ Ap        |int    |runops_standard
 Ap     |int    |runops_debug
 Afpd   |void   |sv_catpvf_mg   |NN SV *sv|NN const char* pat|...
 Apd    |void   |sv_vcatpvf_mg  |NN SV* sv|NN const char* pat|NULLOK va_list* args
-Apd    |void   |sv_catpv_mg    |NN SV *sv|NN const char *ptr
+Apd    |void   |sv_catpv_mg    |NN SV *sv|NULLOK const char *ptr
 Apdbm  |void   |sv_catpvn_mg   |NN SV *sv|NN const char *ptr|STRLEN len
 Apdbm  |void   |sv_catsv_mg    |NN SV *dstr|NULLOK SV *sstr
 Afpd   |void   |sv_setpvf_mg   |NN SV *sv|NN const char* pat|...
@@ -1093,10 +1093,10 @@ ApR     |GP*    |gp_dup         |NULLOK GP* gp|NN CLONE_PARAMS* param
 ApR    |MAGIC* |mg_dup         |NULLOK MAGIC* mg|NN CLONE_PARAMS* param
 ApR    |SV*    |sv_dup         |NULLOK const SV* sstr|NN CLONE_PARAMS* param
 Ap     |void   |rvpv_dup       |NN SV* dstr|NN const SV *sstr|NN CLONE_PARAMS* param
-Ap     |yy_parser*|parser_dup  |NN const yy_parser *proto|NN CLONE_PARAMS* param
+Ap     |yy_parser*|parser_dup  |NULLOK const yy_parser *proto|NN CLONE_PARAMS* param
 #endif
 Apa    |PTR_TBL_t*|ptr_table_new
-ApR    |void*  |ptr_table_fetch|NN PTR_TBL_t *tbl|NN const void *sv
+ApR    |void*  |ptr_table_fetch|NN PTR_TBL_t *tbl|NULLOK const void *sv
 Ap     |void   |ptr_table_store|NN PTR_TBL_t *tbl|NULLOK const void *oldsv|NN void *newsv
 Ap     |void   |ptr_table_split|NN PTR_TBL_t *tbl
 Ap     |void   |ptr_table_clear|NULLOK PTR_TBL_t *tbl
@@ -1167,7 +1167,7 @@ s |void   |save_magic     |I32 mgs_ix|NN SV *sv
 s      |int    |magic_methpack |NN SV *sv|NN const MAGIC *mg|NN const char *meth
 s      |int    |magic_methcall |NN SV *sv|NN const MAGIC *mg|NN const char *meth|I32 f \
                                |int n|NULLOK SV *val
-s      |void   |restore_magic  |NN const void *p
+s      |void   |restore_magic  |NULLOK const void *p
 s      |void   |unwind_handler_stack|NN const void *p
 
 #endif
@@ -1200,7 +1200,6 @@ pR        |OP*    |ck_open        |NN OP *o
 pR     |OP*    |ck_readline    |NN OP *o
 pR     |OP*    |ck_repeat      |NN OP *o
 pR     |OP*    |ck_require     |NN OP *o
-pR     |OP*    |ck_retarget    |NN OP *o
 pR     |OP*    |ck_return      |NN OP *o
 pR     |OP*    |ck_rfun        |NN OP *o
 pR     |OP*    |ck_rvconst     |NN OP *o
@@ -1368,7 +1367,7 @@ s |I32    |amagic_cmp_locale|NN SV *a|NN SV *b
 s      |I32    |sortcv         |NN SV *a|NN SV *b
 s      |I32    |sortcv_xsub    |NN SV *a|NN SV *b
 s      |I32    |sortcv_stacked |NN SV *a|NN SV *b
-s      |void   |qsortsvu       |NN SV** array|size_t num_elts|NN SVCOMPARE_t compare
+s      |void   |qsortsvu       |NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
 #endif
 
 #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
@@ -1531,7 +1530,7 @@ s |void * |more_bodies    |const svtype sv_type
 s      |bool   |sv_2iuv_common |NN SV *const sv
 s      |void   |glob_assign_glob|NN SV *dstr|NN SV *sstr|const int dtype
 s      |void   |glob_assign_ref|NN SV *dstr|NN SV *sstr
-sRn    |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *tbl|NN const void *sv
+sRn    |PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *tbl|NULLOK const void *sv
 #endif
 
 #if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
@@ -1645,7 +1644,8 @@ 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|int cnt
-Ap     |void   |PerlIO_set_ptrcnt      |NULLOK PerlIO *f|NN STDCHAR *ptr|int cnt
+Ap     |void   |PerlIO_set_ptrcnt      |NULLOK PerlIO *f|NULLOK STDCHAR *ptr \
+                                       |int cnt
 Ap     |void   |PerlIO_setlinebuf      |NULLOK PerlIO *f
 Ap     |SSize_t|PerlIO_read            |NULLOK PerlIO *f|NN void *buf|Size_t count
 Ap     |SSize_t|PerlIO_write           |NULLOK PerlIO *f|NN const void *buf|Size_t count
@@ -1699,7 +1699,7 @@ p |void   |free_tied_hv_pool
 #if defined(DEBUGGING)
 pR     |int    |get_debug_opts |NN const char **s|bool givehelp
 #endif
-Ap     |void   |save_set_svflags|NULLOK SV* sv|U32 mask|U32 val
+Ap     |void   |save_set_svflags|NN SV* sv|U32 mask|U32 val
 Apod   |void   |hv_assert      |NN HV* tb
 
 ApdR   |SV*    |hv_scalar      |NN HV* hv