This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
dmake can only handle == and != in comparisons; support building
[perl5.git] / proto.h
diff --git a/proto.h b/proto.h
index c7c88a6..d343e62 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -176,6 +176,11 @@ PERL_CALLCONV int  Perl_fprintf_nocontext(PerlIO* stream, const char* fmt, ...)
  __attribute__((format(printf,2,3)))
 #endif
 ;
+PERL_CALLCONV int      Perl_printf_nocontext(const char* fmt, ...)
+#ifdef CHECK_FORMAT
+ __attribute__((format(printf,1,2)))
+#endif
+;
 #endif
 PERL_CALLCONV void     Perl_cv_ckproto(pTHX_ CV* cv, GV* gv, char* p);
 PERL_CALLCONV CV*      Perl_cv_clone(pTHX_ CV* proto);
@@ -331,6 +336,7 @@ PERL_CALLCONV char* Perl_instr(pTHX_ const char* big, const char* little);
 PERL_CALLCONV bool     Perl_io_close(pTHX_ IO* io, bool not_implicit);
 PERL_CALLCONV OP*      Perl_invert(pTHX_ OP* cmd);
 PERL_CALLCONV bool     Perl_is_gv_magical(pTHX_ char *name, STRLEN len, U32 flags);
+PERL_CALLCONV I32      Perl_is_lvalue_sub(pTHX);
 PERL_CALLCONV bool     Perl_is_uni_alnum(pTHX_ U32 c);
 PERL_CALLCONV bool     Perl_is_uni_alnumc(pTHX_ U32 c);
 PERL_CALLCONV bool     Perl_is_uni_idfirst(pTHX_ U32 c);
@@ -723,7 +729,7 @@ PERL_CALLCONV void  Perl_sv_catpv(pTHX_ SV* sv, const char* ptr);
 PERL_CALLCONV void     Perl_sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
 PERL_CALLCONV void     Perl_sv_catsv(pTHX_ SV* dsv, SV* ssv);
 PERL_CALLCONV void     Perl_sv_chop(pTHX_ SV* sv, char* ptr);
-PERL_CALLCONV void     Perl_sv_clean_all(pTHX);
+PERL_CALLCONV I32      Perl_sv_clean_all(pTHX);
 PERL_CALLCONV void     Perl_sv_clean_objs(pTHX);
 PERL_CALLCONV void     Perl_sv_clear(pTHX_ SV* sv);
 PERL_CALLCONV I32      Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2);
@@ -809,6 +815,7 @@ PERL_CALLCONV STRLEN        Perl_utf8_length(pTHX_ U8* s, U8 *e);
 PERL_CALLCONV IV       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_from_utf8(pTHX_ U8 *s, STRLEN *len, bool *is_utf8);
 PERL_CALLCONV U8*      Perl_bytes_to_utf8(pTHX_ U8 *s, STRLEN *len);
 PERL_CALLCONV UV       Perl_utf8_to_uv_simple(pTHX_ U8 *s, STRLEN* retlen);
 PERL_CALLCONV UV       Perl_utf8_to_uv(pTHX_ U8 *s, STRLEN curlen, STRLEN* retlen, U32 flags);
@@ -835,10 +842,8 @@ PERL_CALLCONV I32  Perl_whichsig(pTHX_ char* sig);
 PERL_CALLCONV int      Perl_yyerror(pTHX_ char* s);
 #ifdef USE_PURE_BISON
 PERL_CALLCONV int      Perl_yylex_r(pTHX_ YYSTYPE *lvalp, int *lcharp);
-PERL_CALLCONV int      Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp);
-#else
-PERL_CALLCONV int      Perl_yylex(pTHX);
 #endif
+PERL_CALLCONV int      Perl_yylex(pTHX);
 PERL_CALLCONV int      Perl_yyparse(pTHX);
 PERL_CALLCONV int      Perl_yywarn(pTHX_ char* s);
 #if defined(MYMALLOC)
@@ -918,6 +923,8 @@ PERL_CALLCONV bool  Perl_sv_utf8_downgrade(pTHX_ SV *sv, bool fail_ok);
 PERL_CALLCONV void     Perl_sv_utf8_encode(pTHX_ SV *sv);
 PERL_CALLCONV bool     Perl_sv_utf8_decode(pTHX_ SV *sv);
 PERL_CALLCONV void     Perl_sv_force_normal(pTHX_ SV *sv);
+PERL_CALLCONV void     Perl_sv_add_backref(pTHX_ SV *tsv, SV *sv);
+PERL_CALLCONV void     Perl_sv_del_backref(pTHX_ SV *sv);
 PERL_CALLCONV void     Perl_tmps_grow(pTHX_ I32 n);
 PERL_CALLCONV SV*      Perl_sv_rvweaken(pTHX_ SV *sv);
 PERL_CALLCONV int      Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
@@ -945,6 +952,8 @@ PERL_CALLCONV PTR_TBL_t*    Perl_ptr_table_new(pTHX);
 PERL_CALLCONV void*    Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, void *sv);
 PERL_CALLCONV void     Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, void *oldsv, void *newsv);
 PERL_CALLCONV void     Perl_ptr_table_split(pTHX_ PTR_TBL_t *tbl);
+PERL_CALLCONV void     Perl_ptr_table_clear(pTHX_ PTR_TBL_t *tbl);
+PERL_CALLCONV void     Perl_ptr_table_free(pTHX_ PTR_TBL_t *tbl);
 #endif
 #if defined(HAVE_INTERP_INTERN)
 PERL_CALLCONV void     Perl_sys_intern_clear(pTHX);
@@ -1001,6 +1010,7 @@ STATIC OP*        S_no_fh_allowed(pTHX_ OP *o);
 STATIC OP*     S_scalarboolean(pTHX_ OP *o);
 STATIC OP*     S_too_few_arguments(pTHX_ OP *o, char* name);
 STATIC OP*     S_too_many_arguments(pTHX_ OP *o, char* name);
+STATIC U8*     S_trlist_upgrade(pTHX_ U8** sp, U8** ep);
 STATIC void    S_op_clear(pTHX_ OP* o);
 STATIC void    S_null(pTHX_ OP* o);
 STATIC PADOFFSET       S_pad_addlex(pTHX_ SV* name);
@@ -1077,7 +1087,6 @@ STATIC I32        S_dopoptolabel(pTHX_ char *label);
 STATIC I32     S_dopoptoloop(pTHX_ I32 startingblock);
 STATIC I32     S_dopoptosub(pTHX_ I32 startingblock);
 STATIC I32     S_dopoptosub_at(pTHX_ PERL_CONTEXT* cxstk, I32 startingblock);
-STATIC void    S_free_closures(pTHX);
 STATIC void    S_save_lines(pTHX_ AV *array, SV *sv);
 STATIC OP*     S_doeval(pTHX_ int gimme, OP** startop);
 STATIC PerlIO *        S_doopen_pmc(pTHX_ const char *name, const char *mode);
@@ -1197,9 +1206,7 @@ STATIC void       S_del_xpvbm(pTHX_ XPVBM* p);
 STATIC void    S_del_xrv(pTHX_ XRV* p);
 STATIC void    S_sv_unglob(pTHX_ SV* sv);
 STATIC void    S_not_a_number(pTHX_ SV *sv);
-STATIC void    S_visit(pTHX_ SVFUNC_t f);
-STATIC void    S_sv_add_backref(pTHX_ SV *tsv, SV *sv);
-STATIC void    S_sv_del_backref(pTHX_ SV *sv);
+STATIC I32     S_visit(pTHX_ SVFUNC_t f);
 #  if defined(DEBUGGING)
 STATIC void    S_del_sv(pTHX_ SV *p);
 #  endif