-DCRIPPLED_CC RIP
Dave Mitchell [Thu, 21 Mar 2002 17:24:40 +0000 (17:24 +0000)]
Message-ID: <20020321172440.C13683@fdgroup.com>

p4raw-id: //depot/perl@15397

INSTALL
embed.fnc
embed.h
ext/Devel/PPPort/PPPort.pm
gv.c
gv.h
pod/perlapi.pod
proto.h
sv.h
toke.c

diff --git a/INSTALL b/INSTALL
index dbb757a..c3c3c15 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -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
index 8b7727b..8e2070b 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -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
diff --git a/embed.h b/embed.h
index 10c6a53..92debc8 100644 (file)
--- a/embed.h
+++ b/embed.h
 #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
index d37452a..d5e71f4 100644 (file)
@@ -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);       
diff --git a/gv.c b/gv.c
index 5b32b0d..0921095 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -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)
 {
diff --git a/gv.h b/gv.h
index 2edc9b9..7db4ba0 100644 (file)
--- a/gv.h
+++ b/gv.h
@@ -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)
index e8a4545..0a11945 100644 (file)
@@ -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
diff --git a/proto.h b/proto.h
index ac6f281..9fd88d3 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -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
diff --git a/sv.h b/sv.h
index 8fd4ae7..b956768 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -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
diff --git a/toke.c b/toke.c
index 82b7e0d..87c94c1 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -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.