X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/11cd919dc47cef55287cce0322d44e19aecf3127..c35dcbe240980301d3462300f3b790ccfbe52c24:/mathoms.c diff --git a/mathoms.c b/mathoms.c index a65a99f..1bb33d3 100644 --- a/mathoms.c +++ b/mathoms.c @@ -16,7 +16,7 @@ * [p.5 of _The Lord of the Rings_: "Prologue"] */ -#ifndef NO_MATHOMS + /* * This file contains mathoms, various binary artifacts from previous @@ -31,11 +31,18 @@ #define PERL_IN_MATHOMS_C #include "perl.h" +#ifdef NO_MATHOMS +/* ..." warning: ISO C forbids an empty source file" + So make sure we have something in here by processing the headers anyway. + */ +#else + PERL_CALLCONV OP * Perl_ref(pTHX_ OP *o, I32 type); PERL_CALLCONV void Perl_sv_unref(pTHX_ SV *sv); PERL_CALLCONV void Perl_sv_taint(pTHX_ SV *sv); PERL_CALLCONV IV Perl_sv_2iv(pTHX_ register SV *sv); PERL_CALLCONV UV Perl_sv_2uv(pTHX_ register SV *sv); +PERL_CALLCONV NV Perl_sv_2nv(pTHX_ register SV *sv); PERL_CALLCONV char * Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp); PERL_CALLCONV char * Perl_sv_2pv_nolen(pTHX_ register SV *sv); PERL_CALLCONV char * Perl_sv_2pvbyte_nolen(pTHX_ register SV *sv); @@ -70,6 +77,9 @@ PERL_CALLCONV int Perl_printf_nocontext(const char *format, ...); PERL_CALLCONV int Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg); PERL_CALLCONV AV * Perl_newAV(pTHX); PERL_CALLCONV HV * Perl_newHV(pTHX); +PERL_CALLCONV IO * Perl_newIO(pTHX); +PERL_CALLCONV I32 Perl_my_stat(pTHX); +PERL_CALLCONV I32 Perl_my_lstat(pTHX); /* ref() is now a macro using Perl_doref; * this version provided for binary compatibility only. @@ -134,6 +144,17 @@ Perl_sv_2uv(pTHX_ register SV *sv) return sv_2uv_flags(sv, SV_GMAGIC); } +/* sv_2nv() is now a macro using Perl_sv_2nv_flags(); + * this function provided for binary compatibility only + */ + +NV +Perl_sv_2nv(pTHX_ register SV *sv) +{ + return sv_2nv_flags(sv, SV_GMAGIC); +} + + /* sv_2pv() is now a macro using Perl_sv_2pv_flags(); * this function provided for binary compatibility only */ @@ -155,6 +176,7 @@ use the macro wrapper C instead. char * Perl_sv_2pv_nolen(pTHX_ register SV *sv) { + PERL_ARGS_ASSERT_SV_2PV_NOLEN; return sv_2pv(sv, NULL); } @@ -607,29 +629,6 @@ Perl_hv_magic(pTHX_ HV *hv, GV *gv, int how) sv_magic(MUTABLE_SV(hv), MUTABLE_SV(gv), how, NULL, 0); } -AV * -Perl_av_fake(pTHX_ register I32 size, register SV **strp) -{ - register SV** ary; - register AV * const av = MUTABLE_AV(newSV_type(SVt_PVAV)); - - PERL_ARGS_ASSERT_AV_FAKE; - - Newx(ary,size+1,SV*); - AvALLOC(av) = ary; - Copy(strp,ary,size,SV*); - AvREIFY_only(av); - AvARRAY(av) = ary; - AvFILLp(av) = size - 1; - AvMAX(av) = size - 1; - while (size--) { - assert (*strp); - SvTEMP_off(*strp); - strp++; - } - return av; -} - bool Perl_do_open(pTHX_ GV *gv, register const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp) @@ -697,17 +696,6 @@ Perl_init_i18nl14n(pTHX_ int printwarn) return init_i18nl10n(printwarn); } -OP * -Perl_oopsCV(pTHX_ OP *o) -{ - PERL_ARGS_ASSERT_OOPSCV; - - Perl_croak(aTHX_ "NOT IMPL LINE %d",__LINE__); - /* STUB */ - PERL_UNUSED_ARG(o); - NORETURN_FUNCTION_END; -} - PP(pp_padany) { DIE(aTHX_ "NOT IMPL LINE %d",__LINE__); @@ -1196,7 +1184,7 @@ Perl_save_long(pTHX_ long int *longp) SSCHECK(3); SSPUSHLONG(*longp); SSPUSHPTR(longp); - SSPUSHINT(SAVEt_LONG); + SSPUSHUV(SAVEt_LONG); } void @@ -1209,7 +1197,7 @@ Perl_save_iv(pTHX_ IV *ivp) SSCHECK(3); SSPUSHIV(*ivp); SSPUSHPTR(ivp); - SSPUSHINT(SAVEt_IV); + SSPUSHUV(SAVEt_IV); } void @@ -1221,7 +1209,7 @@ Perl_save_nogv(pTHX_ GV *gv) SSCHECK(2); SSPUSHPTR(gv); - SSPUSHINT(SAVEt_NSTAB); + SSPUSHUV(SAVEt_NSTAB); } void @@ -1238,7 +1226,7 @@ Perl_save_list(pTHX_ register SV **sarg, I32 maxsarg) SSCHECK(3); SSPUSHPTR(sarg[i]); /* remember the pointer */ SSPUSHPTR(sv); /* remember the value */ - SSPUSHINT(SAVEt_ITEM); + SSPUSHUV(SAVEt_ITEM); } } @@ -1463,6 +1451,88 @@ Perl_sv_insert(pTHX_ SV *const bigstr, const STRLEN offset, const STRLEN len, sv_insert_flags(bigstr, offset, len, little, littlelen, SV_GMAGIC); } +void +Perl_save_freesv(pTHX_ SV *sv) +{ + dVAR; + save_freesv(sv); +} + +void +Perl_save_mortalizesv(pTHX_ SV *sv) +{ + dVAR; + + PERL_ARGS_ASSERT_SAVE_MORTALIZESV; + + save_mortalizesv(sv); +} + +void +Perl_save_freeop(pTHX_ OP *o) +{ + dVAR; + save_freeop(o); +} + +void +Perl_save_freepv(pTHX_ char *pv) +{ + dVAR; + save_freepv(pv); +} + +void +Perl_save_op(pTHX) +{ + dVAR; + save_op(); +} + +#ifdef PERL_DONT_CREATE_GVSV +GV * +Perl_gv_SVadd(pTHX_ GV *gv) +{ + return gv_SVadd(gv); +} +#endif + +GV * +Perl_gv_AVadd(pTHX_ GV *gv) +{ + return gv_AVadd(gv); +} + +GV * +Perl_gv_HVadd(pTHX_ register GV *gv) +{ + return gv_HVadd(gv); +} + +GV * +Perl_gv_IOadd(pTHX_ register GV *gv) +{ + return gv_IOadd(gv); +} + +IO * +Perl_newIO(pTHX) +{ + return MUTABLE_IO(newSV_type(SVt_PVIO)); +} + +I32 +Perl_my_stat(pTHX) +{ + return my_stat_flags(SV_GMAGIC); +} + +I32 +Perl_my_lstat(pTHX) +{ + return my_lstat_flags(SV_GMAGIC); +} + #endif /* NO_MATHOMS */ /*