X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=mathoms.c;h=aaae227c4ce890e0425e402f23dc55bd91189e51;hb=1c3d5054181a1dff3dab69a3f7c820ac692c8730;hp=44e1a0d76c84f5cb0dfe531da67b6d3ae9133078;hpb=ad64d0ecd555e97c5a216efca1ec5a96b7fd0b34;p=p5sagit%2Fp5-mst-13.2.git diff --git a/mathoms.c b/mathoms.c index 44e1a0d..aaae227 100644 --- a/mathoms.c +++ b/mathoms.c @@ -8,13 +8,15 @@ */ /* - * "Anything that Hobbits had no immediate use for, but were unwilling to - * throw away, they called a mathom. Their dwellings were apt to become - * rather crowded with mathoms, and many of the presents that passed from - * hand to hand were of that sort." + * Anything that Hobbits had no immediate use for, but were unwilling to + * throw away, they called a mathom. Their dwellings were apt to become + * rather crowded with mathoms, and many of the presents that passed from + * hand to hand were of that sort. + * + * [p.5 of _The Lord of the Rings_: "Prologue"] */ -#ifndef NO_MATHOMS + /* * This file contains mathoms, various binary artifacts from previous @@ -29,6 +31,12 @@ #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); @@ -68,6 +76,7 @@ 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); /* ref() is now a macro using Perl_doref; * this version provided for binary compatibility only. @@ -605,29 +614,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) @@ -695,25 +681,16 @@ 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__); + return NORMAL; } PP(pp_mapstart) { DIE(aTHX_ "panic: mapstart"); /* uses grepstart */ + return NORMAL; } /* These ops all have the same body as pp_null. */ @@ -1194,7 +1171,7 @@ Perl_save_long(pTHX_ long int *longp) SSCHECK(3); SSPUSHLONG(*longp); SSPUSHPTR(longp); - SSPUSHINT(SAVEt_LONG); + SSPUSHUV(SAVEt_LONG); } void @@ -1207,7 +1184,7 @@ Perl_save_iv(pTHX_ IV *ivp) SSCHECK(3); SSPUSHIV(*ivp); SSPUSHPTR(ivp); - SSPUSHINT(SAVEt_IV); + SSPUSHUV(SAVEt_IV); } void @@ -1219,7 +1196,7 @@ Perl_save_nogv(pTHX_ GV *gv) SSCHECK(2); SSPUSHPTR(gv); - SSPUSHINT(SAVEt_NSTAB); + SSPUSHUV(SAVEt_NSTAB); } void @@ -1236,7 +1213,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); } } @@ -1274,14 +1251,6 @@ Perl_sv_usepvn(pTHX_ SV *sv, char *ptr, STRLEN len) sv_usepvn_flags(sv,ptr,len, 0); } -void -Perl_cv_ckproto(pTHX_ const CV *cv, const GV *gv, const char *p) -{ - PERL_ARGS_ASSERT_CV_CKPROTO; - - cv_ckproto_len(cv, gv, p, p ? strlen(p) : 0); -} - /* =for apidoc unpack_str @@ -1469,6 +1438,76 @@ 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)); +} + #endif /* NO_MATHOMS */ /*