X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=proto.h;h=402876ac054b4826b4fe847e2c72e378d1b39d19;hb=b8c5462f6edbb2dd616e1733df011beee816eee1;hp=95ffda5132c52bd7ebe46fe717f1277465be96f7;hpb=5b877257c279c72efd65c092c32959c904c739e8;p=p5sagit%2Fp5-mst-13.2.git diff --git a/proto.h b/proto.h index 95ffda5..402876a 100644 --- a/proto.h +++ b/proto.h @@ -39,10 +39,10 @@ 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, I32 effective, Stat_t* statbufp); -VIRTUAL U32 Perl_cast_ulong(pTHX_ double f); -VIRTUAL I32 Perl_cast_i32(pTHX_ double f); -VIRTUAL IV Perl_cast_iv(pTHX_ double f); -VIRTUAL UV Perl_cast_uv(pTHX_ double f); +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 UV Perl_cast_uv(pTHX_ NV f); #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) VIRTUAL I32 Perl_my_chsize(pTHX_ int fd, Off_t length); #endif @@ -196,35 +196,53 @@ VIRTUAL char* Perl_instr(pTHX_ const char* big, const char* little); VIRTUAL bool Perl_io_close(pTHX_ IO* io); VIRTUAL OP* Perl_invert(pTHX_ OP* cmd); VIRTUAL bool Perl_is_uni_alnum(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_alnumc(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_idfirst(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_alpha(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_ascii(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_space(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_cntrl(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_graph(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_digit(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_upper(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_lower(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_print(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_punct(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_xdigit(pTHX_ U32 c); VIRTUAL U32 Perl_to_uni_upper(pTHX_ U32 c); VIRTUAL U32 Perl_to_uni_title(pTHX_ U32 c); VIRTUAL U32 Perl_to_uni_lower(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_alnum_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_alnumc_lc(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_idfirst_lc(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_alpha_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_ascii_lc(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_space_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_cntrl_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_graph_lc(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_digit_lc(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_upper_lc(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_lower_lc(pTHX_ U32 c); VIRTUAL bool Perl_is_uni_print_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_punct_lc(pTHX_ U32 c); +VIRTUAL bool Perl_is_uni_xdigit_lc(pTHX_ U32 c); VIRTUAL U32 Perl_to_uni_upper_lc(pTHX_ U32 c); VIRTUAL U32 Perl_to_uni_title_lc(pTHX_ U32 c); VIRTUAL U32 Perl_to_uni_lower_lc(pTHX_ U32 c); VIRTUAL bool Perl_is_utf8_alnum(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_alnumc(pTHX_ U8 *p); VIRTUAL bool Perl_is_utf8_idfirst(pTHX_ U8 *p); VIRTUAL bool Perl_is_utf8_alpha(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_ascii(pTHX_ U8 *p); VIRTUAL bool Perl_is_utf8_space(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_cntrl(pTHX_ U8 *p); VIRTUAL bool Perl_is_utf8_digit(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_graph(pTHX_ U8 *p); VIRTUAL bool Perl_is_utf8_upper(pTHX_ U8 *p); VIRTUAL bool Perl_is_utf8_lower(pTHX_ U8 *p); VIRTUAL bool Perl_is_utf8_print(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_punct(pTHX_ U8 *p); +VIRTUAL bool Perl_is_utf8_xdigit(pTHX_ U8 *p); VIRTUAL bool Perl_is_utf8_mark(pTHX_ U8 *p); VIRTUAL OP* Perl_jmaybe(pTHX_ OP* arg); VIRTUAL I32 Perl_keyword(pTHX_ char* d, I32 len); @@ -307,7 +325,7 @@ VIRTUAL I32 Perl_mg_size(pTHX_ SV* sv); VIRTUAL OP* Perl_mod(pTHX_ OP* o, I32 type); VIRTUAL char* Perl_moreswitches(pTHX_ char* s); VIRTUAL OP* Perl_my(pTHX_ OP* o); -VIRTUAL double Perl_my_atof(pTHX_ const char *s); +VIRTUAL NV Perl_my_atof(pTHX_ const char *s); #if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY) VIRTUAL char* Perl_my_bcopy(pTHX_ const char* from, char* to, I32 len); #endif @@ -375,7 +393,7 @@ VIRTUAL SV* Perl_newSV(pTHX_ STRLEN len); VIRTUAL OP* Perl_newSVREF(pTHX_ OP* o); VIRTUAL OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv); VIRTUAL SV* Perl_newSViv(pTHX_ IV i); -VIRTUAL SV* Perl_newSVnv(pTHX_ double n); +VIRTUAL SV* Perl_newSVnv(pTHX_ NV n); VIRTUAL SV* Perl_newSVpv(pTHX_ const char* s, STRLEN len); VIRTUAL SV* Perl_newSVpvn(pTHX_ const char* s, STRLEN len); VIRTUAL SV* Perl_newSVpvf(pTHX_ const char* pat, ...); @@ -452,6 +470,8 @@ VIRTUAL void Perl_regdump(pTHX_ regexp* r); VIRTUAL I32 Perl_pregexec(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave); VIRTUAL void Perl_pregfree(pTHX_ struct regexp* r); VIRTUAL regexp* Perl_pregcomp(pTHX_ char* exp, char* xend, PMOP* pm); +VIRTUAL char* Perl_re_intuit_start(pTHX_ regexp* prog, SV* sv, char* strpos, char* strend, U32 flags, struct re_scream_pos_data_s *data); +VIRTUAL SV* Perl_re_intuit_string(pTHX_ regexp* prog); VIRTUAL I32 Perl_regexec_flags(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags); VIRTUAL regnode* Perl_regnext(pTHX_ regnode* p); VIRTUAL void Perl_regprop(pTHX_ SV* sv, regnode* o); @@ -527,12 +547,12 @@ VIRTUAL CV* Perl_sv_2cv(pTHX_ SV* sv, HV** st, GV** gvp, I32 lref); VIRTUAL IO* Perl_sv_2io(pTHX_ SV* sv); VIRTUAL IV Perl_sv_2iv(pTHX_ SV* sv); VIRTUAL SV* Perl_sv_2mortal(pTHX_ SV* sv); -VIRTUAL double Perl_sv_2nv(pTHX_ SV* sv); +VIRTUAL NV Perl_sv_2nv(pTHX_ SV* sv); VIRTUAL char* Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp); VIRTUAL UV Perl_sv_2uv(pTHX_ SV* sv); VIRTUAL IV Perl_sv_iv(pTHX_ SV* sv); VIRTUAL UV Perl_sv_uv(pTHX_ SV* sv); -VIRTUAL double Perl_sv_nv(pTHX_ SV* sv); +VIRTUAL NV Perl_sv_nv(pTHX_ SV* sv); VIRTUAL char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len); VIRTUAL I32 Perl_sv_true(pTHX_ SV *sv); VIRTUAL void Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags); @@ -582,9 +602,9 @@ VIRTUAL void Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...); VIRTUAL void Perl_sv_setiv(pTHX_ SV* sv, IV num); VIRTUAL void Perl_sv_setpviv(pTHX_ SV* sv, IV num); VIRTUAL void Perl_sv_setuv(pTHX_ SV* sv, UV num); -VIRTUAL void Perl_sv_setnv(pTHX_ SV* sv, double num); +VIRTUAL void Perl_sv_setnv(pTHX_ SV* sv, NV num); VIRTUAL SV* Perl_sv_setref_iv(pTHX_ SV* rv, const char* classname, IV iv); -VIRTUAL SV* Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, double nv); +VIRTUAL SV* Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, NV nv); VIRTUAL SV* Perl_sv_setref_pv(pTHX_ SV* rv, const char* classname, void* pv); VIRTUAL SV* Perl_sv_setref_pvn(pTHX_ SV* rv, const char* classname, char* pv, STRLEN n); VIRTUAL void Perl_sv_setpv(pTHX_ SV* sv, const char* ptr); @@ -674,7 +694,7 @@ VIRTUAL void Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...); VIRTUAL void Perl_sv_setiv_mg(pTHX_ SV *sv, IV i); VIRTUAL void Perl_sv_setpviv_mg(pTHX_ SV *sv, IV iv); VIRTUAL void Perl_sv_setuv_mg(pTHX_ SV *sv, UV u); -VIRTUAL void Perl_sv_setnv_mg(pTHX_ SV *sv, double num); +VIRTUAL void Perl_sv_setnv_mg(pTHX_ SV *sv, NV num); VIRTUAL void Perl_sv_setpv_mg(pTHX_ SV *sv, const char *ptr); VIRTUAL void Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len); VIRTUAL void Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr); @@ -852,7 +872,8 @@ STATIC void S_scan_commit(pTHX_ scan_data_t *data); STATIC I32 S_study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 flags); STATIC I32 S_add_data(pTHX_ I32 n, char *s); STATIC void S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...) __attribute__((noreturn)); -STATIC char* S_regpposixcc(pTHX_ I32 value); +STATIC I32 S_regpposixcc(pTHX_ I32 value); +STATIC void S_checkposixcc(pTHX); STATIC void S_clear_re(pTHX_ void *r); #endif #if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)