Multiplicity & ithreads fix for sv.c/Encode.xs
[p5sagit/p5-mst-13.2.git] / proto.h
diff --git a/proto.h b/proto.h
index ed08b20..79b584d 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -104,79 +104,75 @@ PERL_CALLCONV MAGIC*      Perl_condpair_magic(pTHX_ SV *sv);
 #endif
 PERL_CALLCONV OP*      Perl_convert(pTHX_ I32 optype, I32 flags, OP* o);
 PERL_CALLCONV void     Perl_croak(pTHX_ const char* pat, ...) __attribute__((noreturn))
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_1,pTHX_2)))
 #endif
 ;
 PERL_CALLCONV void     Perl_vcroak(pTHX_ const char* pat, va_list* args) __attribute__((noreturn));
 #if defined(PERL_IMPLICIT_CONTEXT)
 PERL_CALLCONV void     Perl_croak_nocontext(const char* pat, ...) __attribute__((noreturn))
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,1,2)))
 #endif
 ;
 PERL_CALLCONV OP*      Perl_die_nocontext(const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,1,2)))
 #endif
 ;
 PERL_CALLCONV void     Perl_deb_nocontext(const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,1,2)))
 #endif
 ;
 PERL_CALLCONV char*    Perl_form_nocontext(const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,1,2)))
 #endif
 ;
-PERL_CALLCONV void     Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...)
-#ifdef CHECK_FORMAT
- __attribute__((format(printf,3,4)))
-#endif
-;
+PERL_CALLCONV void     Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...);
 PERL_CALLCONV SV*      Perl_mess_nocontext(const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,1,2)))
 #endif
 ;
 PERL_CALLCONV void     Perl_warn_nocontext(const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,1,2)))
 #endif
 ;
 PERL_CALLCONV void     Perl_warner_nocontext(U32 err, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,2,3)))
 #endif
 ;
 PERL_CALLCONV SV*      Perl_newSVpvf_nocontext(const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,1,2)))
 #endif
 ;
 PERL_CALLCONV void     Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,2,3)))
 #endif
 ;
 PERL_CALLCONV void     Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,2,3)))
 #endif
 ;
 PERL_CALLCONV void     Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,2,3)))
 #endif
 ;
 PERL_CALLCONV void     Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,2,3)))
 #endif
 ;
 PERL_CALLCONV int      Perl_fprintf_nocontext(PerlIO* stream, const char* fmt, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,2,3)))
 #endif
 ;
@@ -197,7 +193,7 @@ PERL_CALLCONV U32*  Perl_get_opargs(pTHX);
 PERL_CALLCONV PPADDR_t*        Perl_get_ppaddr(pTHX);
 PERL_CALLCONV I32      Perl_cxinc(pTHX);
 PERL_CALLCONV void     Perl_deb(pTHX_ const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_1,pTHX_2)))
 #endif
 ;
@@ -209,7 +205,7 @@ PERL_CALLCONV I32   Perl_debstackptrs(pTHX);
 PERL_CALLCONV char*    Perl_delimcpy(pTHX_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen);
 PERL_CALLCONV void     Perl_deprecate(pTHX_ char* s);
 PERL_CALLCONV OP*      Perl_die(pTHX_ const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_1,pTHX_2)))
 #endif
 ;
@@ -273,7 +269,7 @@ PERL_CALLCONV PADOFFSET     Perl_find_threadsv(pTHX_ const char *name);
 PERL_CALLCONV OP*      Perl_force_list(pTHX_ OP* arg);
 PERL_CALLCONV OP*      Perl_fold_constants(pTHX_ OP* arg);
 PERL_CALLCONV char*    Perl_form(pTHX_ const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_1,pTHX_2)))
 #endif
 ;
@@ -394,11 +390,7 @@ PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line);
 PERL_CALLCONV OP*      Perl_linklist(pTHX_ OP* o);
 PERL_CALLCONV OP*      Perl_list(pTHX_ OP* o);
 PERL_CALLCONV OP*      Perl_listkids(pTHX_ OP* o);
-PERL_CALLCONV void     Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...)
-#ifdef CHECK_FORMAT
- __attribute__((format(printf,pTHX_3,pTHX_4)))
-#endif
-;
+PERL_CALLCONV void     Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...);
 PERL_CALLCONV void     Perl_vload_module(pTHX_ U32 flags, SV* name, SV* ver, va_list* args);
 PERL_CALLCONV OP*      Perl_localize(pTHX_ OP* arg, I32 lexical);
 PERL_CALLCONV I32      Perl_looks_like_number(pTHX_ SV* sv);
@@ -459,7 +451,7 @@ PERL_CALLCONV void  Perl_markstack_grow(pTHX);
 PERL_CALLCONV char*    Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen);
 #endif
 PERL_CALLCONV SV*      Perl_mess(pTHX_ const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_1,pTHX_2)))
 #endif
 ;
@@ -553,7 +545,7 @@ PERL_CALLCONV SV*   Perl_newSVpv(pTHX_ const char* s, STRLEN len);
 PERL_CALLCONV SV*      Perl_newSVpvn(pTHX_ const char* s, STRLEN len);
 PERL_CALLCONV SV*      Perl_newSVpvn_share(pTHX_ const char* s, STRLEN len, U32 hash);
 PERL_CALLCONV SV*      Perl_newSVpvf(pTHX_ const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_1,pTHX_2)))
 #endif
 ;
@@ -722,7 +714,7 @@ PERL_CALLCONV void  Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags);
 PERL_CALLCONV int      Perl_sv_backoff(pTHX_ SV* sv);
 PERL_CALLCONV SV*      Perl_sv_bless(pTHX_ SV* sv, HV* stash);
 PERL_CALLCONV void     Perl_sv_catpvf(pTHX_ SV* sv, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_2,pTHX_3)))
 #endif
 ;
@@ -769,7 +761,7 @@ PERL_CALLCONV void  Perl_sv_replace(pTHX_ SV* sv, SV* nsv);
 PERL_CALLCONV void     Perl_sv_report_used(pTHX);
 PERL_CALLCONV void     Perl_sv_reset(pTHX_ char* s, HV* stash);
 PERL_CALLCONV void     Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_2,pTHX_3)))
 #endif
 ;
@@ -817,7 +809,7 @@ PERL_CALLCONV I32   Perl_utf8_distance(pTHX_ U8 *a, U8 *b);
 PERL_CALLCONV U8*      Perl_utf8_hop(pTHX_ U8 *s, I32 off);
 PERL_CALLCONV U8*      Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *len);
 PERL_CALLCONV U8*      Perl_bytes_to_utf8(pTHX_ U8 *s, STRLEN *len);
-PERL_CALLCONV UV       Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen);
+PERL_CALLCONV UV       Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen, bool checking);
 PERL_CALLCONV U8*      Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
 PERL_CALLCONV void     Perl_vivify_defelem(pTHX_ SV* sv);
 PERL_CALLCONV void     Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
@@ -825,13 +817,13 @@ PERL_CALLCONV I32 Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags);
 PERL_CALLCONV void     Perl_report_evil_fh(pTHX_ GV *gv, IO *io, I32 op);
 PERL_CALLCONV void     Perl_report_uninit(pTHX);
 PERL_CALLCONV void     Perl_warn(pTHX_ const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_1,pTHX_2)))
 #endif
 ;
 PERL_CALLCONV void     Perl_vwarn(pTHX_ const char* pat, va_list* args);
 PERL_CALLCONV void     Perl_warner(pTHX_ U32 err, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_2,pTHX_3)))
 #endif
 ;
@@ -869,7 +861,7 @@ PERL_CALLCONV int   Perl_runops_debug(pTHX);
 PERL_CALLCONV SV*      Perl_sv_lock(pTHX_ SV *sv);
 #endif
 PERL_CALLCONV void     Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_2,pTHX_3)))
 #endif
 ;
@@ -878,7 +870,7 @@ PERL_CALLCONV void  Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr);
 PERL_CALLCONV void     Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
 PERL_CALLCONV void     Perl_sv_catsv_mg(pTHX_ SV *dstr, SV *sstr);
 PERL_CALLCONV void     Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_2,pTHX_3)))
 #endif
 ;
@@ -894,7 +886,7 @@ PERL_CALLCONV void  Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len);
 PERL_CALLCONV MGVTBL*  Perl_get_vtbl(pTHX_ int vtbl_id);
 PERL_CALLCONV char*    Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim);
 PERL_CALLCONV void     Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
-#ifdef CHECK_FORMAT
+#ifdef HASATTRIBUTE
  __attribute__((format(printf,pTHX_3,pTHX_4)))
 #endif
 ;