diff options
-rw-r--r-- | INSTALL | 14 | ||||
-rw-r--r-- | embed.fnc | 3 | ||||
-rw-r--r-- | embed.h | 6 | ||||
-rw-r--r-- | ext/Devel/PPPort/PPPort.pm | 2 | ||||
-rw-r--r-- | gv.c | 24 | ||||
-rw-r--r-- | gv.h | 12 | ||||
-rw-r--r-- | pod/perlapi.pod | 57 | ||||
-rw-r--r-- | proto.h | 3 | ||||
-rw-r--r-- | sv.h | 6 | ||||
-rw-r--r-- | toke.c | 29 |
10 files changed, 33 insertions, 123 deletions
@@ -1612,16 +1612,6 @@ to then propagate your changes with B<sh Configure -S> and rebuild with B<make depend; make>. -=item CRIPPLED_CC - -If you still can't compile successfully, try: - - sh Configure -Accflags=-DCRIPPLED_CC - -This flag simplifies some complicated expressions for compilers that get -indigestion easily. (Just because you get no errors doesn't mean it -compiled right!) - =item Missing functions If you have missing routines, you probably need to add some library or @@ -1735,14 +1725,12 @@ Genix may need to use libc rather than libc_s, or #undef VARARGS. NCR Tower 32 (OS 2.01.01) may need -W2,-Sl,2000 and #undef MKDIR. -UTS may need one or more of -DCRIPPLED_CC, -K or -g, and undef LSTAT. +UTS may need one or more of -K or -g, and undef LSTAT. FreeBSD can fail the lib/ipc_sysv.t test if SysV IPC has not been configured to the kernel. Perl tries to detect this, though, and you will get a message telling what to do. -If you get syntax errors on '(', try -DCRIPPLED_CC. - Machines with half-implemented dbm routines will need to #undef I_ODBM HP-UX 11 Y2K patch "Y2K-1100 B.11.00.B0125 HP-UX Core OS Year 2000 @@ -1286,9 +1286,6 @@ s |char* |incl_perldb s |I32 |utf16_textfilter|int idx|SV *sv|int maxlen s |I32 |utf16rev_textfilter|int idx|SV *sv|int maxlen #endif -# if defined(CRIPPLED_CC) -s |int |uni |I32 f|char *s -# endif # if defined(PERL_CR_FILTER) s |I32 |cr_textfilter |int idx|SV *sv|int maxlen # endif @@ -1198,9 +1198,6 @@ #define utf16_textfilter S_utf16_textfilter #define utf16rev_textfilter S_utf16rev_textfilter #endif -# if defined(CRIPPLED_CC) -#define uni S_uni -# endif # if defined(PERL_CR_FILTER) #define cr_textfilter S_cr_textfilter # endif @@ -2751,9 +2748,6 @@ #define utf16_textfilter(a,b,c) S_utf16_textfilter(aTHX_ a,b,c) #define utf16rev_textfilter(a,b,c) S_utf16rev_textfilter(aTHX_ a,b,c) #endif -# if defined(CRIPPLED_CC) -#define uni(a,b) S_uni(aTHX_ a,b) -# endif # if defined(PERL_CR_FILTER) #define cr_textfilter(a,b,c) S_cr_textfilter(aTHX_ a,b,c) # endif diff --git a/ext/Devel/PPPort/PPPort.pm b/ext/Devel/PPPort/PPPort.pm index d37452a602..d5e71f430b 100644 --- a/ext/Devel/PPPort/PPPort.pm +++ b/ext/Devel/PPPort/PPPort.pm @@ -440,7 +440,7 @@ __DATA__ nsv; \ }) # else -# if defined(CRIPPLED_CC) || defined(USE_THREADS) +# if defined(USE_THREADS) static SV * newRV_noinc (SV * sv) { SV *nsv = (SV*)newRV(sv); @@ -1245,30 +1245,6 @@ Perl_gp_free(pTHX_ GV *gv) GvGP(gv) = 0; } -#if defined(CRIPPLED_CC) && (defined(iAPX286) || defined(M_I286) || defined(I80286)) -#define MICROPORT -#endif - -#ifdef MICROPORT /* Microport 2.4 hack */ -AV *GvAVn(gv) -register GV *gv; -{ - if (GvGP(gv)->gp_av) - return GvGP(gv)->gp_av; - else - return GvGP(gv_AVadd(gv))->gp_av; -} - -HV *GvHVn(gv) -register GV *gv; -{ - if (GvGP(gv)->gp_hv) - return GvGP(gv)->gp_hv; - else - return GvGP(gv_HVadd(gv))->gp_hv; -} -#endif /* Microport 2.4 hack */ - int Perl_magic_freeovrld(pTHX_ SV *sv, MAGIC *mg) { @@ -22,10 +22,6 @@ struct gp { char * gp_file; /* file first declared in (for -w) */ }; -#if defined(CRIPPLED_CC) && (defined(iAPX286) || defined(M_I286) || defined(I80286)) -#define MICROPORT -#endif - #define GvXPVGV(gv) ((XPVGV*)SvANY(gv)) #define GvGP(gv) (GvXPVGV(gv)->xgv_gp) @@ -56,22 +52,14 @@ Return the SV from the GV. /* This macro is deprecated. Do not use! */ #define GvREFCNT_inc(gv) ((GV*)SvREFCNT_inc(gv)) /* DO NOT USE */ -#ifdef MICROPORT /* Microport 2.4 hack */ -AV *GvAVn(); -#else #define GvAVn(gv) (GvGP(gv)->gp_av ? \ GvGP(gv)->gp_av : \ GvGP(gv_AVadd(gv))->gp_av) -#endif #define GvHV(gv) ((GvGP(gv))->gp_hv) -#ifdef MICROPORT /* Microport 2.4 hack */ -HV *GvHVn(); -#else #define GvHVn(gv) (GvGP(gv)->gp_hv ? \ GvGP(gv)->gp_hv : \ GvGP(gv_HVadd(gv))->gp_hv) -#endif /* Microport 2.4 hack */ #define GvCV(gv) (GvGP(gv)->gp_cv) #define GvCVGEN(gv) (GvGP(gv)->gp_cvgen) diff --git a/pod/perlapi.pod b/pod/perlapi.pod index e8a45454cf..0a119452bf 100644 --- a/pod/perlapi.pod +++ b/pod/perlapi.pod @@ -2312,16 +2312,6 @@ non-numeric warning), even if your atof() doesn't grok them. =for hackers Found in file sv.c -=item memcmp_byte_utf8 - -Similar to memcmp(), but the first string is with bytes, the second -with utf8. Takes into account that the lengths may be different. - - int memcmp_byte_utf8(char *sbyte, STRLEN lbyte, char *sutf, STRLEN lutf) - -=for hackers -Found in file util.c - =item newRV_inc Creates an RV wrapper for an SV. The reference count for the original SV is @@ -2594,22 +2584,22 @@ version which guarantees to evaluate sv only once. =for hackers Found in file sv.h -=item SvIVx +=item SvIVX -Coerces the given SV to an integer and returns it. Guarantees to evaluate -sv only once. Use the more efficient C<SvIV> otherwise. +Returns the raw value in the SV's IV slot, without checks or conversions. +Only use when you are sure SvIOK is true. See also C<SvIV()>. - IV SvIVx(SV* sv) + IV SvIVX(SV* sv) =for hackers Found in file sv.h -=item SvIVX +=item SvIVx -Returns the raw value in the SV's IV slot, without checks or conversions. -Only use when you are sure SvIOK is true. See also C<SvIV()>. +Coerces the given SV to an integer and returns it. Guarantees to evaluate +sv only once. Use the more efficient C<SvIV> otherwise. - IV SvIVX(SV* sv) + IV SvIVx(SV* sv) =for hackers Found in file sv.h @@ -3172,22 +3162,22 @@ for a version which guarantees to evaluate sv only once. =for hackers Found in file sv.h -=item SvUVx +=item SvUVX -Coerces the given SV to an unsigned integer and returns it. Guarantees to -evaluate sv only once. Use the more efficient C<SvUV> otherwise. +Returns the raw value in the SV's UV slot, without checks or conversions. +Only use when you are sure SvIOK is true. See also C<SvUV()>. - UV SvUVx(SV* sv) + UV SvUVX(SV* sv) =for hackers Found in file sv.h -=item SvUVX +=item SvUVx -Returns the raw value in the SV's UV slot, without checks or conversions. -Only use when you are sure SvIOK is true. See also C<SvUV()>. +Coerces the given SV to an unsigned integer and returns it. Guarantees to +evaluate sv only once. Use the more efficient C<SvUV> otherwise. - UV SvUVX(SV* sv) + UV SvUVx(SV* sv) =for hackers Found in file sv.h @@ -3537,10 +3527,10 @@ Found in file sv.c Copies a stringified representation of the source SV into the destination SV. Automatically performs any necessary mg_get and -coercion of numeric values into strings. Guaranteed to preserve +coercion of numeric values into strings. Guaranteed to preserve UTF-8 flag even from overloaded objects. Similar in nature to -sv_2pv[_flags] but operates directly on an SV instead of just the -string. Mostly uses sv_2pv_flags to do its work, except when that +sv_2pv[_flags] but operates directly on an SV instead of just the +string. Mostly uses sv_2pv_flags to do its work, except when that would lose the UTF-8'ness of the PV. void sv_copypv(SV* dsv, SV* ssv) @@ -4389,6 +4379,9 @@ This may not be possible if the PV contains non-byte encoding characters; if this is the case, either returns false or, if C<fail_ok> is not true, croaks. +This is not as a general purpose Unicode to byte encoding interface: +use the Encode extension for that. + NOTE: this function is experimental and may change or be removed without notice. @@ -4415,6 +4408,9 @@ Forces the SV to string form if it is not already. Always sets the SvUTF8 flag to avoid future validity checks even if all the bytes have hibit clear. +This is not as a general purpose byte encoding to Unicode interface: +use the Encode extension for that. + STRLEN sv_utf8_upgrade(SV *sv) =for hackers @@ -4429,6 +4425,9 @@ if all the bytes have hibit clear. If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get> on C<sv> if appropriate, else not. C<sv_utf8_upgrade> and C<sv_utf8_upgrade_nomg> are implemented in terms of this function. +This is not as a general purpose byte encoding to Unicode interface: +use the Encode extension for that. + STRLEN sv_utf8_upgrade_flags(SV *sv, I32 flags) =for hackers @@ -1321,9 +1321,6 @@ STATIC char* S_incl_perldb(pTHX); STATIC I32 S_utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen); STATIC I32 S_utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen); #endif -# if defined(CRIPPLED_CC) -STATIC int S_uni(pTHX_ I32 f, char *s); -# endif # if defined(PERL_CR_FILTER) STATIC I32 S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen); # endif @@ -161,7 +161,7 @@ perform the upgrade if necessary. See C<svtype>. nsv; \ }) #else -# if defined(CRIPPLED_CC) || defined(USE_5005THREADS) +# ifdef USE_5005THREADS # if defined(VMS) && defined(__ALPHA) # define SvREFCNT_inc(sv) \ (PL_Sv=(SV*)(sv), (PL_Sv && __ATOMIC_INCREMENT_LONG(&(SvREFCNT(PL_Sv)))), (SV *)PL_Sv) @@ -967,7 +967,7 @@ otherwise. #define sv_utf8_upgrade_nomg(sv) sv_utf8_upgrade_flags(sv, 0) #define sv_catpvn_nomg(dsv, sstr, slen) sv_catpvn_flags(dsv, sstr, slen, 0) -#ifndef CRIPPLED_CC +/* #ifndef CRIPPLED_CC */ /* redefine some things to more efficient inlined versions */ /* Let us hope that bitmaps for UV and IV are the same */ @@ -1131,7 +1131,7 @@ otherwise. # define SvTRUEx(sv) ((PL_Sv = (sv)), SvTRUE(PL_Sv)) #endif /* !USE_5005THREADS */ #endif /* !__GNU__ */ -#endif /* !CRIPPLED_CC */ +/* #endif !CRIPPLED_CC */ /* =for apidoc Am|SV*|newRV_inc|SV* sv @@ -685,35 +685,6 @@ S_check_uni(pTHX) } } -/* workaround to replace the UNI() macro with a function. Only the - * hints/uts.sh file mentions this. Other comments elsewhere in the - * source indicate Microport Unix might need it too. - */ - -#ifdef CRIPPLED_CC - -#undef UNI -#define UNI(f) return uni(f,s) - -STATIC int -S_uni(pTHX_ I32 f, char *s) -{ - yylval.ival = f; - PL_expect = XTERM; - PL_bufptr = s; - PL_last_uni = PL_oldbufptr; - PL_last_lop_op = f; - if (*s == '(') - return FUNC1; - s = skipspace(s); - if (*s == '(') - return FUNC1; - else - return UNIOP; -} - -#endif /* CRIPPLED_CC */ - /* * LOP : macro to build a list operator. Its behaviour has been replaced * with a subroutine, S_lop() for which LOP is just another name. |