Ressurect change 27824, which plugs a resource leak in uncalled code.
[p5sagit/p5-mst-13.2.git] / proto.h
diff --git a/proto.h b/proto.h
index 2f5e23e..1154162 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -304,6 +304,9 @@ PERL_CALLCONV int   Perl_printf_nocontext(const char* fmt, ...)
 PERL_CALLCONV void     Perl_cv_ckproto(pTHX_ const CV* cv, const GV* gv, const char* p)
                        __attribute__nonnull__(pTHX_1);
 
+PERL_CALLCONV void     Perl_cv_ckproto_len(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV CV*      Perl_cv_clone(pTHX_ CV* proto)
                        __attribute__nonnull__(pTHX_1);
 
@@ -642,12 +645,16 @@ PERL_CALLCONV void        Perl_gv_fullname4(pTHX_ SV* sv, const GV* gv, const char* pre
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);
 
+PERL_CALLCONV GP *     Perl_newGP(pTHX_ GV *const gv)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV void     Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_3);
 
 PERL_CALLCONV void     Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32 flags)
-                       __attribute__nonnull__(pTHX_1);
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2);
 
 PERL_CALLCONV HV*      Perl_gv_stashpv(pTHX_ const char* name, I32 create)
                        __attribute__nonnull__(pTHX_1);
@@ -1474,6 +1481,10 @@ PERL_CALLCONV OP*        Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o)
                        __attribute__warn_unused_result__;
 
 PERL_CALLCONV CV*      Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
+PERL_CALLCONV CV *     Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr, const char *const filename, const char *const proto, U32 flags)
+                       __attribute__nonnull__(pTHX_2)
+                       __attribute__nonnull__(pTHX_3);
+
 PERL_CALLCONV CV*      Perl_newXS(pTHX_ const char* name, XSUBADDR_t f, const char* filename)
                        __attribute__nonnull__(pTHX_2)
                        __attribute__nonnull__(pTHX_3);
@@ -2061,9 +2072,13 @@ PERL_CALLCONV IO*        Perl_sv_2io(pTHX_ SV* sv)
                        __attribute__nonnull__(pTHX_1);
 
 #ifdef PERL_IN_SV_C
-STATIC char*   S_glob_2inpuv(pTHX_ GV* gv, STRLEN *len, bool want_number)
+STATIC bool    S_glob_2number(pTHX_ GV* const gv)
                        __attribute__nonnull__(pTHX_1);
 
+STATIC char*   S_glob_2pv(pTHX_ GV* const gv, STRLEN * const len)
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2);
+
 #endif
 /* PERL_CALLCONV IV    sv_2iv(pTHX_ SV* sv)
                        __attribute__nonnull__(pTHX_1); */
@@ -2337,7 +2352,10 @@ PERL_CALLCONV void       Perl_sv_untaint(pTHX_ SV* sv)
 PERL_CALLCONV void     Perl_sv_upgrade(pTHX_ SV* sv, U32 mt)
                        __attribute__nonnull__(pTHX_1);
 
-PERL_CALLCONV void     Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len)
+/* PERL_CALLCONV void  Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len)
+                       __attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV void     Perl_sv_usepvn_flags(pTHX_ SV* sv, char* ptr, STRLEN len, U32 flags)
                        __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV void     Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted)
@@ -2634,8 +2652,8 @@ PERL_CALLCONV void        Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len)
 PERL_CALLCONV void     Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr)
                        __attribute__nonnull__(pTHX_1);
 
-PERL_CALLCONV void     Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len)
-                       __attribute__nonnull__(pTHX_1);
+/* PERL_CALLCONV void  Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len)
+                       __attribute__nonnull__(pTHX_1); */
 
 PERL_CALLCONV MGVTBL*  Perl_get_vtbl(pTHX_ int vtbl_id)
                        __attribute__warn_unused_result__;
@@ -2859,27 +2877,27 @@ PERL_CALLCONV int       Perl_nothreadhook(pTHX);
 END_EXTERN_C
 
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-STATIC I32     S_do_trans_simple(pTHX_ SV *sv)
+STATIC I32     S_do_trans_simple(pTHX_ SV * const sv)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
 
-STATIC I32     S_do_trans_count(pTHX_ SV *sv)
+STATIC I32     S_do_trans_count(pTHX_ SV * const sv)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
 
-STATIC I32     S_do_trans_complex(pTHX_ SV *sv)
+STATIC I32     S_do_trans_complex(pTHX_ SV * const sv)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
 
-STATIC I32     S_do_trans_simple_utf8(pTHX_ SV *sv)
+STATIC I32     S_do_trans_simple_utf8(pTHX_ SV * const sv)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
 
-STATIC I32     S_do_trans_count_utf8(pTHX_ SV *sv)
+STATIC I32     S_do_trans_count_utf8(pTHX_ SV * const sv)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
 
-STATIC I32     S_do_trans_complex_utf8(pTHX_ SV *sv)
+STATIC I32     S_do_trans_complex_utf8(pTHX_ SV * const sv)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
 
@@ -3255,12 +3273,6 @@ STATIC void*     S_parse_body(pTHX_ char **env, XSINIT_t xsinit);
 STATIC void    S_run_body(pTHX_ I32 oldscope)
                        __attribute__noreturn__;
 
-STATIC void    S_call_body(pTHX_ const OP *myop, bool is_eval)
-                       __attribute__nonnull__(pTHX_1);
-
-STATIC void*   S_call_list_body(pTHX_ CV *cv)
-                       __attribute__nonnull__(pTHX_1);
-
 STATIC SV *    S_incpush_if_exists(pTHX_ SV *dir)
                        __attribute__nonnull__(pTHX_1);
 
@@ -3614,7 +3626,7 @@ STATIC I32        S_make_trie(pTHX_ struct RExC_state_t* state, regnode *startbranch, r
 #endif
 
 #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-STATIC I32     S_regmatch(pTHX_ regexp *rex, regnode *prog)
+STATIC I32     S_regmatch(pTHX_ const regmatch_info *reginfo, regnode *prog)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);
@@ -3624,7 +3636,7 @@ STATIC I32        S_regrepeat(pTHX_ const regexp *prog, const regnode *p, I32 max)
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);
 
-STATIC I32     S_regtry(pTHX_ regexp *prog, char *startpos)
+STATIC I32     S_regtry(pTHX_ const regmatch_info *reginfo, char *startpos)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);
@@ -3648,7 +3660,7 @@ STATIC U8*        S_reghopmaybe3(U8 *pos, I32 off, U8 *lim)
                        __attribute__nonnull__(1)
                        __attribute__nonnull__(3);
 
-STATIC char*   S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, I32 norun)
+STATIC char*   S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, const regmatch_info *reginfo)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2)
@@ -3669,7 +3681,11 @@ STATIC void      S_debprof(pTHX_ const OP *o)
                        __attribute__nonnull__(pTHX_1);
 
 STATIC void    S_sequence(pTHX_ const OP *o);
+STATIC void    S_sequence_tail(pTHX_ const OP *o);
 STATIC UV      S_sequence_num(pTHX_ const OP *o);
+STATIC SV*     S_pm_description(pTHX_ const PMOP *pm)
+                       __attribute__nonnull__(pTHX_1);
+
 #endif
 
 #if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
@@ -3729,13 +3745,13 @@ STATIC I32      S_expect_number(pTHX_ char** pattern)
                        __attribute__nonnull__(pTHX_1);
 
 #
-STATIC STRLEN  S_sv_pos_u2b_forwards(pTHX_ const U8 *const start, const U8 *const send, STRLEN uoffset)
-                       __attribute__nonnull__(pTHX_1)
-                       __attribute__nonnull__(pTHX_2);
+STATIC STRLEN  S_sv_pos_u2b_forwards(const U8 *const start, const U8 *const send, STRLEN uoffset)
+                       __attribute__nonnull__(1)
+                       __attribute__nonnull__(2);
 
-STATIC STRLEN  S_sv_pos_u2b_midway(pTHX_ const U8 *const start, const U8 *send, STRLEN uoffset, STRLEN uend)
-                       __attribute__nonnull__(pTHX_1)
-                       __attribute__nonnull__(pTHX_2);
+STATIC STRLEN  S_sv_pos_u2b_midway(const U8 *const start, const U8 *send, STRLEN uoffset, STRLEN uend)
+                       __attribute__nonnull__(1)
+                       __attribute__nonnull__(2);
 
 STATIC STRLEN  S_sv_pos_u2b_cached(pTHX_ SV *sv, MAGIC **mgp, const U8 *const start, const U8 *const send, STRLEN uoffset, STRLEN uoffset0, STRLEN boffset0)
                        __attribute__nonnull__(pTHX_1)
@@ -4072,7 +4088,7 @@ PERL_CALLCONV PADLIST*    Perl_pad_new(pTHX_ int flags)
 PERL_CALLCONV void     Perl_pad_undef(pTHX_ CV* cv)
                        __attribute__nonnull__(pTHX_1);
 
-PERL_CALLCONV PADOFFSET        Perl_pad_add_name(pTHX_ const char *name, HV* typestash, HV* ourstash, bool clone)
+PERL_CALLCONV PADOFFSET        Perl_pad_add_name(pTHX_ const char *name, HV* typestash, HV* ourstash, bool clone, bool state)
                        __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV PADOFFSET        Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type)