run regen.pl
Dave Mitchell [Sun, 10 Jul 2005 19:57:31 +0000 (19:57 +0000)]
p4raw-id: //depot/perl@25108

embed.h
proto.h

diff --git a/embed.h b/embed.h
index c0d66b7..ce73b57 100644 (file)
--- a/embed.h
+++ b/embed.h
 #ifdef PERL_CORE
 #define closest_cop            S_closest_cop
 #define mess_alloc             S_mess_alloc
+#define vdie_croak_common      S_vdie_croak_common
+#define vdie_common            S_vdie_common
 #endif
 #endif
 #if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
 #ifdef PERL_CORE
 #define closest_cop(a,b)       S_closest_cop(aTHX_ a,b)
 #define mess_alloc()           S_mess_alloc(aTHX)
+#define vdie_croak_common(a,b,c,d)     S_vdie_croak_common(aTHX_ a,b,c,d)
+#define vdie_common(a,b,c)     S_vdie_common(aTHX_ a,b,c)
 #endif
 #endif
 #if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
diff --git a/proto.h b/proto.h
index 9115629..3caa9f2 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -64,8 +64,12 @@ PERL_CALLCONV MEM_SIZE       Perl_malloced_size(void *p)
 
 #endif
 
-PERL_CALLCONV void*    Perl_get_context(void);
-PERL_CALLCONV void     Perl_set_context(void *thx);
+PERL_CALLCONV void*    Perl_get_context(void)
+                       __attribute__warn_unused_result__;
+
+PERL_CALLCONV void     Perl_set_context(void *thx)
+                       __attribute__nonnull__(1);
+
 
 END_EXTERN_C
 
@@ -73,12 +77,23 @@ END_EXTERN_C
 START_EXTERN_C
 #  include "pp_proto.h"
 PERL_CALLCONV SV*      Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir);
-PERL_CALLCONV bool     Perl_Gv_AMupdate(pTHX_ HV* stash);
-PERL_CALLCONV CV*      Perl_gv_handler(pTHX_ HV* stash, I32 id);
-PERL_CALLCONV OP*      Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail);
+PERL_CALLCONV bool     Perl_Gv_AMupdate(pTHX_ HV* stash)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV CV*      Perl_gv_handler(pTHX_ HV* stash, I32 id)
+                       __attribute__warn_unused_result__;
+
+PERL_CALLCONV OP*      Perl_append_elem(pTHX_ I32 optype, OP* first, OP* last);
 PERL_CALLCONV OP*      Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
-PERL_CALLCONV I32      Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
-PERL_CALLCONV void     Perl_apply_attrs_string(pTHX_ const char *stashpv, CV *cv, const char *attrstr, STRLEN len);
+PERL_CALLCONV I32      Perl_apply(pTHX_ I32 type, SV** mark, SV** sp)
+                       __attribute__nonnull__(pTHX_2)
+                       __attribute__nonnull__(pTHX_3);
+
+PERL_CALLCONV void     Perl_apply_attrs_string(pTHX_ const char *stashpv, CV *cv, const char *attrstr, STRLEN len)
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2)
+                       __attribute__nonnull__(pTHX_3);
+
 PERL_CALLCONV void     Perl_av_clear(pTHX_ AV* ar);
 PERL_CALLCONV SV*      Perl_av_delete(pTHX_ AV* ar, I32 key, I32 flags);
 PERL_CALLCONV bool     Perl_av_exists(pTHX_ AV* ar, I32 key)
@@ -94,31 +109,41 @@ PERL_CALLCONV AV*  Perl_av_fake(pTHX_ I32 size, SV** svp)
 PERL_CALLCONV SV**     Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval)
                        __attribute__warn_unused_result__;
 
-PERL_CALLCONV void     Perl_av_fill(pTHX_ AV* ar, I32 fill);
+PERL_CALLCONV void     Perl_av_fill(pTHX_ AV* ar, I32 fill)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV I32      Perl_av_len(pTHX_ const AV* ar)
-                       __attribute__warn_unused_result__;
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV AV*      Perl_av_make(pTHX_ I32 size, SV** svp)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_2);
 
 PERL_CALLCONV SV*      Perl_av_pop(pTHX_ AV* ar);
-PERL_CALLCONV void     Perl_av_push(pTHX_ AV* ar, SV* val);
-PERL_CALLCONV void     Perl_av_reify(pTHX_ AV* ar);
+PERL_CALLCONV void     Perl_av_push(pTHX_ AV* ar, SV* val)
+                       __attribute__nonnull__(pTHX_2);
+
+PERL_CALLCONV void     Perl_av_reify(pTHX_ AV* ar)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV SV*      Perl_av_shift(pTHX_ AV* ar)
                        __attribute__warn_unused_result__;
 
 PERL_CALLCONV SV**     Perl_av_store(pTHX_ AV* ar, I32 key, SV* val);
 PERL_CALLCONV void     Perl_av_undef(pTHX_ AV* ar);
 PERL_CALLCONV void     Perl_av_unshift(pTHX_ AV* ar, I32 num);
-PERL_CALLCONV SV**     Perl_av_arylen_p(pTHX_ AV* av);
+PERL_CALLCONV SV**     Perl_av_arylen_p(pTHX_ AV* av)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV OP*      Perl_bind_match(pTHX_ I32 type, OP* left, OP* pat)
                        __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_2)
                        __attribute__nonnull__(pTHX_3);
 
 PERL_CALLCONV OP*      Perl_block_end(pTHX_ I32 floor, OP* seq)
-                       __attribute__warn_unused_result__;
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_2);
 
 PERL_CALLCONV I32      Perl_block_gimme(pTHX)
                        __attribute__warn_unused_result__;
@@ -157,55 +182,75 @@ PERL_CALLCONV OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o)
 
 PERL_CALLCONV void     Perl_croak(pTHX_ const char* pat, ...)
                        __attribute__noreturn__
-                       __attribute__format__(__printf__,pTHX_1,pTHX_2);
+                       __attribute__format__(__printf__,pTHX_1,pTHX_2)
+                       __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV void     Perl_vcroak(pTHX_ const char* pat, va_list* args)
-                       __attribute__noreturn__;
+                       __attribute__noreturn__
+                       __attribute__nonnull__(pTHX_1);
 
 #if defined(PERL_IMPLICIT_CONTEXT)
 PERL_CALLCONV void     Perl_croak_nocontext(const char* pat, ...)
                        __attribute__noreturn__
-                       __attribute__format__(__printf__,1,2);
+                       __attribute__format__(__printf__,1,2)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV OP*      Perl_die_nocontext(const char* pat, ...)
-                       __attribute__format__(__printf__,1,2);
+                       __attribute__format__(__printf__,1,2)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV void     Perl_deb_nocontext(const char* pat, ...)
-                       __attribute__format__(__printf__,1,2);
+                       __attribute__format__(__printf__,1,2)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV char*    Perl_form_nocontext(const char* pat, ...)
-                       __attribute__format__(__printf__,1,2);
+                       __attribute__format__(__printf__,1,2)
+                       __attribute__nonnull__(1);
+
+PERL_CALLCONV void     Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...)
+                       __attribute__nonnull__(2)
+                       __attribute__nonnull__(3);
 
-PERL_CALLCONV void     Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...);
 PERL_CALLCONV SV*      Perl_mess_nocontext(const char* pat, ...)
-                       __attribute__format__(__printf__,1,2);
+                       __attribute__format__(__printf__,1,2)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV void     Perl_warn_nocontext(const char* pat, ...)
-                       __attribute__format__(__printf__,1,2);
+                       __attribute__format__(__printf__,1,2)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV void     Perl_warner_nocontext(U32 err, const char* pat, ...)
-                       __attribute__format__(__printf__,2,3);
+                       __attribute__format__(__printf__,2,3)
+                       __attribute__nonnull__(2);
 
 PERL_CALLCONV SV*      Perl_newSVpvf_nocontext(const char* pat, ...)
-                       __attribute__format__(__printf__,1,2);
+                       __attribute__format__(__printf__,1,2)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV void     Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...)
-                       __attribute__format__(__printf__,2,3);
+                       __attribute__format__(__printf__,2,3)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV void     Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...)
-                       __attribute__format__(__printf__,2,3);
+                       __attribute__format__(__printf__,2,3)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV void     Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...)
-                       __attribute__format__(__printf__,2,3);
+                       __attribute__format__(__printf__,2,3)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV void     Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...)
-                       __attribute__format__(__printf__,2,3);
+                       __attribute__format__(__printf__,2,3)
+                       __attribute__nonnull__(1);
 
 PERL_CALLCONV int      Perl_fprintf_nocontext(PerlIO* stream, const char* fmt, ...)
-                       __attribute__format__(__printf__,2,3);
+                       __attribute__format__(__printf__,2,3)
+                       __attribute__nonnull__(1)
+                       __attribute__nonnull__(2);
 
 PERL_CALLCONV int      Perl_printf_nocontext(const char* fmt, ...)
-                       __attribute__format__(__printf__,1,2);
+                       __attribute__format__(__printf__,1,2)
+                       __attribute__nonnull__(1);
 
 #endif
 PERL_CALLCONV void     Perl_cv_ckproto(pTHX_ const CV* cv, const GV* gv, const char* p)
@@ -214,13 +259,26 @@ PERL_CALLCONV void        Perl_cv_ckproto(pTHX_ const CV* cv, const GV* gv, const char*
 PERL_CALLCONV CV*      Perl_cv_clone(pTHX_ CV* proto)
                        __attribute__nonnull__(pTHX_1);
 
-PERL_CALLCONV SV*      Perl_cv_const_sv(pTHX_ CV* cv);
-PERL_CALLCONV SV*      Perl_op_const_sv(pTHX_ const OP* o, CV* cv);
-PERL_CALLCONV void     Perl_cv_undef(pTHX_ CV* cv);
-PERL_CALLCONV void     Perl_cx_dump(pTHX_ PERL_CONTEXT* cs);
+PERL_CALLCONV SV*      Perl_cv_const_sv(pTHX_ CV* cv)
+                       __attribute__warn_unused_result__;
+
+PERL_CALLCONV SV*      Perl_op_const_sv(pTHX_ const OP* o, CV* cv)
+                       __attribute__warn_unused_result__;
+
+PERL_CALLCONV void     Perl_cv_undef(pTHX_ CV* cv)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV void     Perl_cx_dump(pTHX_ PERL_CONTEXT* cx)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV SV*      Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
-PERL_CALLCONV void     Perl_filter_del(pTHX_ filter_t funcp);
-PERL_CALLCONV I32      Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen);
+PERL_CALLCONV void     Perl_filter_del(pTHX_ filter_t funcp)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV I32      Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_2);
+
 PERL_CALLCONV char**   Perl_get_op_descs(pTHX)
                        __attribute__warn_unused_result__
                        __attribute__pure__;
@@ -245,9 +303,12 @@ PERL_CALLCONV I32  Perl_cxinc(pTHX)
                        __attribute__warn_unused_result__;
 
 PERL_CALLCONV void     Perl_deb(pTHX_ const char* pat, ...)
-                       __attribute__format__(__printf__,pTHX_1,pTHX_2);
+                       __attribute__format__(__printf__,pTHX_1,pTHX_2)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV void     Perl_vdeb(pTHX_ const char* pat, va_list* args)
+                       __attribute__nonnull__(pTHX_1);
 
-PERL_CALLCONV void     Perl_vdeb(pTHX_ const char* pat, va_list* args);
 PERL_CALLCONV void     Perl_debprofdump(pTHX);
 PERL_CALLCONV I32      Perl_debop(pTHX_ const OP* o)
                        __attribute__nonnull__(pTHX_1);
@@ -268,13 +329,22 @@ PERL_CALLCONV void        Perl_deprecate_old(pTHX_ const char* s)
                        __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV OP*      Perl_die(pTHX_ const char* pat, ...)
-                       __attribute__format__(__printf__,pTHX_1,pTHX_2);
+                       __attribute__format__(__printf__,pTHX_1,pTHX_2)
+                       __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV OP*      Perl_vdie(pTHX_ const char* pat, va_list* args);
-PERL_CALLCONV OP*      Perl_die_where(pTHX_ const char* message, STRLEN msglen);
+PERL_CALLCONV OP*      Perl_die_where(pTHX_ const char* message, STRLEN msglen)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV void     Perl_dounwind(pTHX_ I32 cxix);
-PERL_CALLCONV bool     Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp);
-PERL_CALLCONV bool     Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int flag);
+PERL_CALLCONV bool     Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp)
+                       __attribute__nonnull__(pTHX_2)
+                       __attribute__nonnull__(pTHX_3);
+
+PERL_CALLCONV bool     Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int flag)
+                       __attribute__nonnull__(pTHX_2)
+                       __attribute__nonnull__(pTHX_3);
+
 PERL_CALLCONV int      Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode)
                        __attribute__nonnull__(pTHX_1);
 
@@ -292,12 +362,22 @@ PERL_CALLCONV bool        Perl_do_exec(pTHX_ char* cmd)
                        __attribute__nonnull__(pTHX_1);
 
 #if defined(WIN32) || defined(SYMBIAN)
-PERL_CALLCONV int      Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp);
-PERL_CALLCONV int      Perl_do_spawn(pTHX_ char* cmd);
-PERL_CALLCONV int      Perl_do_spawn_nowait(pTHX_ char* cmd);
+PERL_CALLCONV int      Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp)
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2)
+                       __attribute__nonnull__(pTHX_3);
+
+PERL_CALLCONV int      Perl_do_spawn(pTHX_ char* cmd)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV int      Perl_do_spawn_nowait(pTHX_ char* cmd)
+                       __attribute__nonnull__(pTHX_1);
+
 #endif
 #if !defined(WIN32)
-PERL_CALLCONV bool     Perl_do_exec3(pTHX_ char* cmd, int fd, int flag);
+PERL_CALLCONV bool     Perl_do_exec3(pTHX_ char* cmd, int fd, int flag)
+                       __attribute__nonnull__(pTHX_1);
+
 #endif
 PERL_CALLCONV void     Perl_do_execfree(pTHX);
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
@@ -315,42 +395,89 @@ PERL_CALLCONV void        Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp)
                        __attribute__nonnull__(pTHX_4);
 
 PERL_CALLCONV OP*      Perl_do_kv(pTHX);
-PERL_CALLCONV bool     Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp);
-PERL_CALLCONV bool     Perl_do_open9(pTHX_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num);
-PERL_CALLCONV bool     Perl_do_openn(pTHX_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp, I32 num);
-PERL_CALLCONV void     Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv);
-PERL_CALLCONV bool     Perl_do_print(pTHX_ SV* sv, PerlIO* fp);
-PERL_CALLCONV OP*      Perl_do_readline(pTHX);
-PERL_CALLCONV I32      Perl_do_chomp(pTHX_ SV* sv);
+PERL_CALLCONV bool     Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp)
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2);
+
+PERL_CALLCONV bool     Perl_do_open9(pTHX_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num)
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2)
+                       __attribute__nonnull__(pTHX_8);
+
+PERL_CALLCONV bool     Perl_do_openn(pTHX_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp, I32 num)
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2);
+
+PERL_CALLCONV void     Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV bool     Perl_do_print(pTHX_ SV* sv, PerlIO* fp)
+                       __attribute__nonnull__(pTHX_2);
+
+PERL_CALLCONV OP*      Perl_do_readline(pTHX)
+                       __attribute__warn_unused_result__;
+
+PERL_CALLCONV I32      Perl_do_chomp(pTHX_ SV* sv)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV bool     Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
-PERL_CALLCONV void     Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
-PERL_CALLCONV Off_t    Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
-PERL_CALLCONV Off_t    Perl_do_tell(pTHX_ GV* gv);
-PERL_CALLCONV I32      Perl_do_trans(pTHX_ SV* sv);
+PERL_CALLCONV void     Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg)
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_3);
+
+PERL_CALLCONV Off_t    Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV Off_t    Perl_do_tell(pTHX_ GV* gv)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV I32      Perl_do_trans(pTHX_ SV* sv)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV UV       Perl_do_vecget(pTHX_ SV* sv, I32 offset, I32 size)
                        __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV void     Perl_do_vecset(pTHX_ SV* sv)
                        __attribute__nonnull__(pTHX_1);
 
-PERL_CALLCONV void     Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
-PERL_CALLCONV OP*      Perl_dofile(pTHX_ OP* term);
-PERL_CALLCONV I32      Perl_dowantarray(pTHX);
+PERL_CALLCONV void     Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right)
+                       __attribute__nonnull__(pTHX_2)
+                       __attribute__nonnull__(pTHX_3)
+                       __attribute__nonnull__(pTHX_4);
+
+PERL_CALLCONV OP*      Perl_dofile(pTHX_ OP* term)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV I32      Perl_dowantarray(pTHX)
+                       __attribute__warn_unused_result__;
+
 PERL_CALLCONV void     Perl_dump_all(pTHX);
 PERL_CALLCONV void     Perl_dump_eval(pTHX);
 #if defined(DUMP_FDS)
 PERL_CALLCONV void     Perl_dump_fds(pTHX_ char* s);
 #endif
 PERL_CALLCONV void     Perl_dump_form(pTHX_ const GV* gv);
-PERL_CALLCONV void     Perl_gv_dump(pTHX_ GV* gv);
-PERL_CALLCONV void     Perl_op_dump(pTHX_ const OP* arg);
+PERL_CALLCONV void     Perl_gv_dump(pTHX_ GV* gv)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV void     Perl_op_dump(pTHX_ const OP* arg)
+                       __attribute__nonnull__(pTHX_1);
+
 PERL_CALLCONV void     Perl_pmop_dump(pTHX_ PMOP* pm);
 PERL_CALLCONV void     Perl_dump_packsubs(pTHX_ const HV* stash);
 PERL_CALLCONV void     Perl_dump_sub(pTHX_ const GV* gv)
                        __attribute__nonnull__(pTHX_1);
 
-PERL_CALLCONV void     Perl_fbm_compile(pTHX_ SV* sv, U32 flags);
-PERL_CALLCONV char*    Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags);
+PERL_CALLCONV void     Perl_fbm_compile(pTHX_ SV* sv, U32 flags)
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV char*    Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2)
+                       __attribute__nonnull__(pTHX_3);
+
 PERL_CALLCONV char*    Perl_find_script(pTHX_ const char *scriptname, bool dosearch, const char **search_ext, I32 flags);
 PERL_CALLCONV OP*      Perl_force_list(pTHX_ OP* arg)
                        __attribute__nonnull__(pTHX_1);
@@ -831,7 +958,9 @@ PERL_CALLCONV void  Perl_sortsv(pTHX_ SV ** array, size_t num_elts, SVCOMPARE_t c
 PERL_CALLCONV int      Perl_mg_clear(pTHX_ SV* sv);
 PERL_CALLCONV int      Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen);
 PERL_CALLCONV void     Perl_mg_localize(pTHX_ SV* sv, SV* nsv);
-PERL_CALLCONV MAGIC*   Perl_mg_find(pTHX_ const SV* sv, int type);
+PERL_CALLCONV MAGIC*   Perl_mg_find(pTHX_ const SV* sv, int type)
+                       __attribute__warn_unused_result__;
+
 PERL_CALLCONV int      Perl_mg_free(pTHX_ SV* sv);
 PERL_CALLCONV int      Perl_mg_get(pTHX_ SV* sv);
 PERL_CALLCONV U32      Perl_mg_length(pTHX_ SV* sv);
@@ -1141,6 +1270,7 @@ PERL_CALLCONV PADOFFSET   Perl_allocmy(pTHX_ char* name)
                        __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV PADOFFSET        Perl_pad_findmy(pTHX_ const char* name)
+                       __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV PADOFFSET        Perl_find_rundefsvoffset(pTHX);
@@ -1185,13 +1315,21 @@ PERL_CALLCONV I32       Perl_eval_sv(pTHX_ SV* sv, I32 flags)
                        __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV SV*      Perl_get_sv(pTHX_ const char* name, I32 create)
+                       __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
 
 PERL_CALLCONV AV*      Perl_get_av(pTHX_ const char* name, I32 create)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV HV*      Perl_get_hv(pTHX_ const char* name, I32 create)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1);
+
+PERL_CALLCONV CV*      Perl_get_cv(pTHX_ const char* name, I32 create)
+                       __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1);
 
-PERL_CALLCONV HV*      Perl_get_hv(pTHX_ const char* name, I32 create);
-PERL_CALLCONV CV*      Perl_get_cv(pTHX_ const char* name, I32 create);
 PERL_CALLCONV int      Perl_init_i18nl10n(pTHX_ int printwarn);
 PERL_CALLCONV int      Perl_init_i18nl14n(pTHX_ int printwarn);
 PERL_CALLCONV void     Perl_new_collate(pTHX_ const char* newcoll);
@@ -1716,7 +1854,9 @@ PERL_CALLCONV void        Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
 PERL_CALLCONV I32      Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags);
 PERL_CALLCONV U32      Perl_parse_unicode_opts(pTHX_ const char **popt);
 PERL_CALLCONV U32      Perl_seed(pTHX);
-PERL_CALLCONV UV       Perl_get_hash_seed(pTHX);
+PERL_CALLCONV UV       Perl_get_hash_seed(pTHX)
+                       __attribute__warn_unused_result__;
+
 PERL_CALLCONV void     Perl_report_evil_fh(pTHX_ const GV *gv, const IO *io, I32 op);
 PERL_CALLCONV void     Perl_report_uninit(pTHX_ SV* uninit_sv);
 PERL_CALLCONV void     Perl_warn(pTHX_ const char* pat, ...)
@@ -1736,7 +1876,10 @@ PERL_CALLCONV int        Perl_yyparse(pTHX);
 PERL_CALLCONV int      Perl_yywarn(pTHX_ const char* s);
 #if defined(MYMALLOC)
 PERL_CALLCONV void     Perl_dump_mstats(pTHX_ char* s);
-PERL_CALLCONV int      Perl_get_mstats(pTHX_ perl_mstats_t *buf, int buflen, int level);
+PERL_CALLCONV int      Perl_get_mstats(pTHX_ perl_mstats_t *buf, int buflen, int level)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1);
+
 #endif
 PERL_CALLCONV Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes)
                        __attribute__malloc__
@@ -2352,6 +2495,7 @@ STATIC const char *       S_group_end(pTHX_ const char *pat, const char *patend, char
                        __attribute__nonnull__(pTHX_2);
 
 STATIC const char *    S_get_num(pTHX_ const char *ppat, I32 *lenptr)
+                       __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);
 
@@ -2707,8 +2851,15 @@ STATIC void      S_set_csh(pTHX);
 STATIC I32     S_sublex_done(pTHX);
 STATIC I32     S_sublex_push(pTHX);
 STATIC I32     S_sublex_start(pTHX);
-STATIC char *  S_filter_gets(pTHX_ SV *sv, PerlIO *fp, STRLEN append);
-STATIC HV *    S_find_in_my_stash(pTHX_ const char *pkgname, I32 len);
+STATIC char *  S_filter_gets(pTHX_ SV *sv, PerlIO *fp, STRLEN append)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1)
+                       __attribute__nonnull__(pTHX_2);
+
+STATIC HV *    S_find_in_my_stash(pTHX_ const char *pkgname, I32 len)
+                       __attribute__warn_unused_result__
+                       __attribute__nonnull__(pTHX_1);
+
 STATIC SV*     S_new_constant(pTHX_ const char *s, STRLEN len, const char *key, SV *sv, SV *pv, const char *type);
 #  if defined(DEBUGGING)
 STATIC int     S_tokereport(pTHX_ const char *s, I32 rv);
@@ -2742,6 +2893,8 @@ STATIC COP*       S_closest_cop(pTHX_ COP *cop, const OP *o)
                        __attribute__nonnull__(pTHX_1);
 
 STATIC SV*     S_mess_alloc(pTHX);
+STATIC const char *    S_vdie_croak_common(pTHX_ const char *pat, va_list *args, STRLEN *msglen, I32* utf8);
+STATIC void    S_vdie_common(pTHX_ const char *message, STRLEN msglen, I32 utf8);
 #endif
 
 #if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
@@ -2810,8 +2963,12 @@ PERL_CALLCONV int        Perl_PerlIO_seek(pTHX_ PerlIO *f, Off_t offset, int whence);
 
 PERL_CALLCONV STDCHAR *        Perl_PerlIO_get_base(pTHX_ PerlIO *f);
 PERL_CALLCONV STDCHAR *        Perl_PerlIO_get_ptr(pTHX_ PerlIO *f);
-PERL_CALLCONV int      Perl_PerlIO_get_bufsiz(pTHX_ PerlIO *f);
-PERL_CALLCONV int      Perl_PerlIO_get_cnt(pTHX_ PerlIO *f);
+PERL_CALLCONV int      Perl_PerlIO_get_bufsiz(pTHX_ PerlIO *f)
+                       __attribute__warn_unused_result__;
+
+PERL_CALLCONV int      Perl_PerlIO_get_cnt(pTHX_ PerlIO *f)
+                       __attribute__warn_unused_result__;
+
 
 PERL_CALLCONV PerlIO * Perl_PerlIO_stdin(pTHX);
 PERL_CALLCONV PerlIO * Perl_PerlIO_stdout(pTHX);
@@ -2865,6 +3022,7 @@ PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po)
 
 #if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
 STATIC PADOFFSET       S_pad_findlex(pTHX_ const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
+                       __attribute__warn_unused_result__
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2)
                        __attribute__nonnull__(pTHX_6)
@@ -2882,7 +3040,9 @@ PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp)
 
 PERL_CALLCONV void     Perl_free_tied_hv_pool(pTHX);
 #if defined(DEBUGGING)
-PERL_CALLCONV int      Perl_get_debug_opts(pTHX_ const char **s, bool givehelp);
+PERL_CALLCONV int      Perl_get_debug_opts(pTHX_ const char **s, bool givehelp)
+                       __attribute__warn_unused_result__;
+
 #endif
 PERL_CALLCONV void     Perl_save_set_svflags(pTHX_ SV* sv, U32 mask, U32 val);
 PERL_CALLCONV void     Perl_hv_assert(pTHX_ HV* tb)