VIRTUAL int Perl_block_start(pTHX_ int full);
VIRTUAL void Perl_boot_core_UNIVERSAL(pTHX);
VIRTUAL void Perl_call_list(pTHX_ I32 oldscope, AV* av_list);
-VIRTUAL I32 Perl_cando(pTHX_ I32 bit, Uid_t effective, Stat_t* statbufp);
+VIRTUAL bool Perl_cando(pTHX_ Mode_t mode, Uid_t effective, Stat_t* statbufp);
VIRTUAL U32 Perl_cast_ulong(pTHX_ NV f);
VIRTUAL I32 Perl_cast_i32(pTHX_ NV f);
VIRTUAL IV Perl_cast_iv(pTHX_ NV f);
VIRTUAL Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
VIRTUAL Off_t Perl_do_tell(pTHX_ GV* gv);
VIRTUAL I32 Perl_do_trans(pTHX_ SV* sv);
+VIRTUAL UV Perl_do_vecget(pTHX_ SV* sv, I32 offset, I32 size);
VIRTUAL void Perl_do_vecset(pTHX_ SV* sv);
VIRTUAL void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
VIRTUAL OP* Perl_dofile(pTHX_ OP* term);
VIRTUAL void Perl_set_numeric_radix(pTHX);
VIRTUAL void Perl_set_numeric_standard(pTHX);
VIRTUAL void Perl_require_pv(pTHX_ const char* pv);
-VIRTUAL void Perl_pidgone(pTHX_ int pid, int status);
+VIRTUAL void Perl_pidgone(pTHX_ Pid_t pid, int status);
VIRTUAL void Perl_pmflag(pTHX_ U16* pmfl, int ch);
VIRTUAL OP* Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
VIRTUAL OP* Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
VIRTUAL U8* Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
VIRTUAL void Perl_vivify_defelem(pTHX_ SV* sv);
VIRTUAL void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
-VIRTUAL I32 Perl_wait4pid(pTHX_ int pid, int* statusp, int flags);
+VIRTUAL I32 Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags);
VIRTUAL void Perl_warn(pTHX_ const char* pat, ...);
VIRTUAL void Perl_vwarn(pTHX_ const char* pat, va_list* args);
VIRTUAL void Perl_warner(pTHX_ U32 err, const char* pat, ...);
VIRTUAL void Perl_tmps_grow(pTHX_ I32 n);
VIRTUAL SV* Perl_sv_rvweaken(pTHX_ SV *sv);
VIRTUAL int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
+VIRTUAL OP* Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block);
+VIRTUAL CV* Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
+VIRTUAL void Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
+VIRTUAL OP * Perl_my_attrs(pTHX_ OP *o, OP *attrs);
+VIRTUAL void Perl_boot_core_xsutils(pTHX);
#if defined(PERL_OBJECT)
protected:
#endif
STATIC char* S_gv_ename(pTHX_ GV *gv);
STATIC CV* S_cv_clone2(pTHX_ CV *proto, CV *outside);
STATIC bool S_scalar_mod_type(pTHX_ OP *o, I32 type);
+STATIC OP * S_my_kid(pTHX_ OP *o, OP *attrs);
+STATIC OP * S_dup_attrlist(pTHX_ OP *o);
+STATIC void S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs);
# if defined(PL_OP_SLAB_ALLOC)
STATIC void* S_Slab_Alloc(pTHX_ int m, size_t sz);
# endif
#endif
#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop);
-STATIC int S_emulate_eaccess(pTHX_ const char* path, int mode);
+STATIC int S_emulate_eaccess(pTHX_ const char* path, Mode_t mode);
# if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
STATIC int S_dooneliner(pTHX_ char *cmd, char *filename);
# endif
STATIC char* S_scan_ident(pTHX_ char *s, char *send, char *dest, STRLEN destlen, I32 ck_uni);
STATIC char* S_scan_inputsymbol(pTHX_ char *start);
STATIC char* S_scan_pat(pTHX_ char *start, I32 type);
-STATIC char* S_scan_str(pTHX_ char *start);
+STATIC char* S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims);
STATIC char* S_scan_subst(pTHX_ char *start);
STATIC char* S_scan_trans(pTHX_ char *start);
STATIC char* S_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp);
#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
STATIC SV* S_isa_lookup(pTHX_ HV *stash, const char *name, int len, int level);
#endif
+#if defined(PERL_IN_XSUTILS_C) || defined(PERL_DECL_PROT)
+STATIC int S_modify_SV_attributes(pTHX_ SV *sv, SV **retlist, SV **attrlist, int numattrs);
+#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
STATIC SV* S_mess_alloc(pTHX);
# if defined(LEAKTEST)