# define Perl_set_numeric_local perl_set_numeric_local
# define Perl_set_numeric_standard perl_set_numeric_standard
# define PERL_POLLUTE
-# ifndef EMBEDMYMALLOC
-# define PERL_POLLUTE_MALLOC
+/* malloc() pollution was the default in earlier versions, so enable
+ * it for bincompat; but not for systems that used to do prevent that,
+ * or when they ask for {HIDE,EMBED}MYMALLOC */
+# if !defined(EMBEDMYMALLOC) && !defined(HIDEMYMALLOC)
+# if !defined(NeXT) && !defined(__NeXT) && !defined(__MACHTEN__) && \
+ !defined(__QNX__)
+# define PERL_POLLUTE_MALLOC
+# endif
# endif
#endif
*/
#if !defined(PERL_CORE)
-# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,(IV)ptr)
-# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,(IV)ptr)
+# define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr))
+# define sv_setptrref(rv,ptr) sv_setref_iv(rv,Nullch,PTR2IV(ptr))
#endif
#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) && !defined(PERL_BINCOMPAT_5005)
# define deb Perl_deb_nocontext
# define die Perl_die_nocontext
# define form Perl_form_nocontext
+# define mess Perl_mess_nocontext
# define newSVpvf Perl_newSVpvf_nocontext
# define sv_catpvf Perl_sv_catpvf_nocontext
# define sv_setpvf Perl_sv_setpvf_nocontext
# define Perl_die_nocontext Perl_die
# define Perl_deb_nocontext Perl_deb
# define Perl_form_nocontext Perl_form
+# define Perl_mess_nocontext Perl_mess
# define Perl_newSVpvf_nocontext Perl_newSVpvf
# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
# define aTHXo pPerl
# undef aTHXo_
# define aTHXo_ aTHXo,
-# undef _aTHXo
-# define _aTHXo ,aTHXo
#endif /* PERL_OBJECT */
START_EXTERN_C
Perl_warner Perl_vwarner
Perl_die Perl_vdie
Perl_form Perl_vform
+ Perl_mess Perl_vmess
Perl_deb Perl_vdeb
Perl_newSVpvf Perl_vnewSVpvf
Perl_sv_setpvf Perl_sv_vsetpvf
? '' : 'return ');
my $emitval = '';
if (@args and $args[$#args] =~ /\.\.\./) {
- pop @args;
pop @aargs;
my $retarg = '';
my $ctxfunc = $func;
__END__
# Lines are of the form:
-# flags|return_type|function_name|return_type|arg1|arg2|...|argN
+# flags|return_type|function_name|arg1|arg2|...|argN
#
-# They may continue on multiple lines when \w| begins the next line.
+# A line may be continued on another by ending it with a backslash.
# Leading and trailing whitespace will be ignored in each component.
#
# flags are single letters with following meanings:
p |int |block_start |int full
p |void |boot_core_UNIVERSAL
p |void |call_list |I32 oldscope|AV* av_list
-p |I32 |cando |I32 bit|I32 effective|Stat_t* statbufp
+p |bool |cando |Mode_t mode|Uid_t effective|Stat_t* statbufp
p |U32 |cast_ulong |NV f
p |I32 |cast_i32 |NV f
p |IV |cast_iv |NV f
np |OP* |die_nocontext |const char* pat|...
np |void |deb_nocontext |const char* pat|...
np |char* |form_nocontext |const char* pat|...
+np |SV* |mess_nocontext |const char* pat|...
np |void |warn_nocontext |const char* pat|...
np |void |warner_nocontext|U32 err|const char* pat|...
np |SV* |newSVpvf_nocontext|const char* pat|...
p |Off_t |do_sysseek |GV* gv|Off_t pos|int whence
p |Off_t |do_tell |GV* gv
p |I32 |do_trans |SV* sv
+p |UV |do_vecget |SV* sv|I32 offset|I32 size
p |void |do_vecset |SV* sv
p |void |do_vop |I32 optype|SV* sv|SV* left|SV* right
p |OP* |dofile |OP* term
p |void |hv_undef |HV* tb
p |I32 |ibcmp |const char* a|const char* b|I32 len
p |I32 |ibcmp_locale |const char* a|const char* b|I32 len
-p |I32 |ingroup |I32 testgid|I32 effective
+p |bool |ingroup |Gid_t testgid|Uid_t effective
p |void |init_debugger
p |void |init_stacks
p |U32 |intro_my
#if defined(USE_LOCALE_COLLATE)
p |char* |mem_collxfrm |const char* s|STRLEN len|STRLEN* xlen
#endif
-p |SV* |mess |const char* pat|va_list* args
+p |SV* |mess |const char* pat|...
+p |SV* |vmess |const char* pat|va_list* args
+p |void |qerror |SV* err
p |int |mg_clear |SV* sv
p |int |mg_copy |SV* sv|SV* nsv|const char* key|I32 klen
p |MAGIC* |mg_find |SV* sv|int type
p |void |set_numeric_radix
p |void |set_numeric_standard
p |void |require_pv |const char* pv
-p |void |pidgone |int pid|int status
+p |void |pidgone |Pid_t pid|int status
p |void |pmflag |U16* pmfl|int ch
p |OP* |pmruntime |OP* pm|OP* expr|OP* repl
p |OP* |pmtrans |OP* o|OP* expr|OP* repl
p |void |sv_usepvn |SV* sv|char* ptr|STRLEN len
p |void |sv_vcatpvfn |SV* sv|const char* pat|STRLEN patlen \
|va_list* args|SV** svargs|I32 svmax \
- |bool *used_locale
+ |bool *maybe_tainted
p |void |sv_vsetpvfn |SV* sv|const char* pat|STRLEN patlen \
|va_list* args|SV** svargs|I32 svmax \
- |bool *used_locale
+ |bool *maybe_tainted
p |SV* |swash_init |char* pkg|char* name|SV* listsv \
|I32 minbits|I32 none
p |UV |swash_fetch |SV *sv|U8 *ptr
p |U8* |uv_to_utf8 |U8 *d|UV uv
p |void |vivify_defelem |SV* sv
p |void |vivify_ref |SV* sv|U32 to_what
-p |I32 |wait4pid |int pid|int* statusp|int flags
+p |I32 |wait4pid |Pid_t pid|int* statusp|int flags
p |void |warn |const char* pat|...
p |void |vwarn |const char* pat|va_list* args
p |void |warner |U32 err|const char* pat|...
p |void |tmps_grow |I32 n
p |SV* |sv_rvweaken |SV *sv
p |int |magic_killbackrefs|SV *sv|MAGIC *mg
+p |OP* |newANONATTRSUB |I32 floor|OP *proto|OP *attrs|OP *block
+p |CV* |newATTRSUB |I32 floor|OP *o|OP *proto|OP *attrs|OP *block
+p |void |newMYSUB |I32 floor|OP *o|OP *proto|OP *attrs|OP *block
+p |OP * |my_attrs |OP *o|OP *attrs
+p |void |boot_core_xsutils
#if defined(PERL_OBJECT)
protected:
s |char* |gv_ename |GV *gv
s |CV* |cv_clone2 |CV *proto|CV *outside
s |bool |scalar_mod_type|OP *o|I32 type
+s |OP * |my_kid |OP *o|OP *attrs
+s |OP * |dup_attrlist |OP *o
+s |void |apply_attrs |HV *stash|SV *target|OP *attrs
# if defined(PL_OP_SLAB_ALLOC)
s |void* |Slab_Alloc |int m|size_t sz
# endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
s |OP* |doform |CV *cv|GV *gv|OP *retop
-s |int |emulate_eaccess|const char* path|int mode
+s |int |emulate_eaccess|const char* path|Mode_t mode
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
s |int |dooneliner |char *cmd|char *filename
# endif
s |regnode*|reganode |U8|U32
s |regnode*|regatom |I32 *
s |regnode*|regbranch |I32 *|I32
-s |void |regc |U8|char *
s |void |reguni |UV|char *|I32*
s |regnode*|regclass
s |regnode*|regclassutf8
s |void |more_xiv
s |void |more_xnv
s |void |more_xpv
+s |void |more_xpviv
+s |void |more_xpvnv
+s |void |more_xpvcv
+s |void |more_xpvav
+s |void |more_xpvhv
+s |void |more_xpvmg
+s |void |more_xpvlv
+s |void |more_xpvbm
s |void |more_xrv
s |XPVIV* |new_xiv
s |XPVNV* |new_xnv
s |XPV* |new_xpv
+s |XPV* |new_xpv
+s |XPVIV* |new_xpviv
+s |XPVNV* |new_xpvnv
+s |XPVCV* |new_xpvcv
+s |XPVAV* |new_xpvav
+s |XPVHV* |new_xpvhv
+s |XPVMG* |new_xpvmg
+s |XPVLV* |new_xpvlv
+s |XPVBM* |new_xpvbm
s |XRV* |new_xrv
s |void |del_xiv |XPVIV* p
s |void |del_xnv |XPVNV* p
s |void |del_xpv |XPV* p
+s |void |del_xpviv |XPVIV* p
+s |void |del_xpvnv |XPVNV* p
+s |void |del_xpvcv |XPVCV* p
+s |void |del_xpvav |XPVAV* p
+s |void |del_xpvhv |XPVHV* p
+s |void |del_xpvmg |XPVMG* p
+s |void |del_xpvlv |XPVLV* p
+s |void |del_xpvbm |XPVBM* p
s |void |del_xrv |XRV* p
s |void |sv_unglob |SV* sv
s |void |not_a_number |SV *sv
|STRLEN destlen|I32 ck_uni
s |char* |scan_inputsymbol|char *start
s |char* |scan_pat |char *start|I32 type
-s |char* |scan_str |char *start
+s |char* |scan_str |char *start|int keep_quoted|int keep_delims
s |char* |scan_subst |char *start
s |char* |scan_trans |char *start
s |char* |scan_word |char *s|char *dest|STRLEN destlen \