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
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
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
#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
#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
nsv; \
})
# else
-# if defined(CRIPPLED_CC) || defined(USE_THREADS)
+# if defined(USE_THREADS)
static SV * newRV_noinc (SV * sv)
{
SV *nsv = (SV*)newRV(sv);
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)
{
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)
/* 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)
=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
=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
=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
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)
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.
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
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
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
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)
#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 */
# 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
}
}
-/* 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.