This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
erroneous 'none' in lddlflags
[perl5.git] / sv.h
diff --git a/sv.h b/sv.h
index 00d9546..7884aeb 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -76,14 +76,14 @@ struct io {
 
 #  ifdef EMULATE_ATOMIC_REFCOUNTS
 #    define ATOMIC_INC(count) STMT_START {     \
-       MUTEX_LOCK(&svref_mutex);               \
+       MUTEX_LOCK(&PL_svref_mutex);            \
        ++count;                                \
-       MUTEX_UNLOCK(&svref_mutex);             \
+       MUTEX_UNLOCK(&PL_svref_mutex);          \
      } STMT_END
 #    define ATOMIC_DEC_AND_TEST(res,count) STMT_START {        \
-       MUTEX_LOCK(&svref_mutex);                       \
+       MUTEX_LOCK(&PL_svref_mutex);                    \
        res = (--count == 0);                           \
-       MUTEX_UNLOCK(&svref_mutex);                     \
+       MUTEX_UNLOCK(&PL_svref_mutex);                  \
      } STMT_END
 #  else
 #    define ATOMIC_INC(count) atomic_inc(&count)
@@ -107,7 +107,7 @@ struct io {
 #    define SvREFCNT_inc(sv) sv_newref((SV*)sv)
 #  else
 #    define SvREFCNT_inc(sv)   \
-       ((Sv=(SV*)(sv)), (Sv && ATOMIC_INC(SvREFCNT(Sv))), (SV*)Sv)
+       ((PL_Sv=(SV*)(sv)), (PL_Sv && ATOMIC_INC(SvREFCNT(PL_Sv))), (SV*)PL_Sv)
 #  endif
 #endif
 
@@ -316,7 +316,7 @@ struct xpvio {
 #define IOf_START 2    /* check for null ARGV and substitute '-' */
 #define IOf_FLUSH 4    /* this fp wants a flush after write op */
 #define IOf_DIDTOP 8   /* just did top of form */
-#define IOf_UNTAINT 16  /* consider this fp (and it's data) "safe" */
+#define IOf_UNTAINT 16  /* consider this fp (and its data) "safe" */
 
 /* The following macros define implementation-independent predicates on SVs. */
 
@@ -451,7 +451,7 @@ struct xpvio {
 #define SvLEN(sv) ((XPV*)  SvANY(sv))->xpv_len
 #define SvLENx(sv) SvLEN(sv)
 #define SvEND(sv)(((XPV*)  SvANY(sv))->xpv_pv + ((XPV*)SvANY(sv))->xpv_cur)
-#define SvENDx(sv) ((Sv = (sv)), SvEND(Sv))
+#define SvENDx(sv) ((PL_Sv = (sv)), SvEND(PL_Sv))
 #define SvMAGIC(sv)    ((XPVMG*)  SvANY(sv))->xmg_magic
 #define SvSTASH(sv)    ((XPVMG*)  SvANY(sv))->xmg_stash
 
@@ -590,18 +590,18 @@ struct xpvio {
 #  undef SvPVx
 #  undef SvTRUE
 #  undef SvTRUEx
-#  define SvIVx(sv) ((Sv = (sv)), SvIV(Sv))
-#  define SvUVx(sv) ((Sv = (sv)), SvUV(Sv))
-#  define SvNVx(sv) ((Sv = (sv)), SvNV(Sv))
-#  define SvPVx(sv, lp) ((Sv = (sv)), SvPV(Sv, lp))
+#  define SvIVx(sv) ((PL_Sv = (sv)), SvIV(PL_Sv))
+#  define SvUVx(sv) ((PL_Sv = (sv)), SvUV(PL_Sv))
+#  define SvNVx(sv) ((PL_Sv = (sv)), SvNV(PL_Sv))
+#  define SvPVx(sv, lp) ((PL_Sv = (sv)), SvPV(PL_Sv, lp))
 #  define SvTRUE(sv) (                                         \
     !sv                                                                \
     ? 0                                                                \
     :    SvPOK(sv)                                             \
-       ?   ((Xpv = (XPV*)SvANY(sv)) &&                         \
-            (*Xpv->xpv_pv > '0' ||                             \
-             Xpv->xpv_cur > 1 ||                               \
-             (Xpv->xpv_cur && *Xpv->xpv_pv != '0'))            \
+       ?   ((PL_Xpv = (XPV*)SvANY(sv)) &&                      \
+            (*PL_Xpv->xpv_pv > '0' ||                          \
+             PL_Xpv->xpv_cur > 1 ||                            \
+             (PL_Xpv->xpv_cur && *PL_Xpv->xpv_pv != '0'))      \
             ? 1                                                \
             : 0)                                               \
        :                                                       \
@@ -610,7 +610,7 @@ struct xpvio {
            :   SvNOK(sv)                                       \
                ? SvNVX(sv) != 0.0                              \
                : sv_2bool(sv) )
-#  define SvTRUEx(sv) ((Sv = (sv)), SvTRUE(Sv))
+#  define SvTRUEx(sv) ((PL_Sv = (sv)), SvTRUE(PL_Sv))
 #endif /* !USE_THREADS */
 #endif /* !__GNU__ */
 #endif /* !CRIPPLED_CC */
@@ -650,7 +650,11 @@ struct xpvio {
 #define SvSetMagicSV_nosteal(dst,src) \
                SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
 
+#ifdef DEBUGGING
 #define SvPEEK(sv) sv_peek(sv)
+#else
+#define SvPEEK(sv) ""
+#endif
 
 #define SvIMMORTAL(sv) ((sv)==&PL_sv_undef || (sv)==&PL_sv_yes || (sv)==&PL_sv_no)