else {
/* not yet introduced */
SvNV_set(namesv, (NV)PAD_MAX); /* min */
- SvIVX(namesv) = 0; /* max */
+ SvIV_set(namesv, 0); /* max */
if (!PL_min_intro_pending)
PL_min_intro_pending = offset;
name = NEWSV(1106, 0);
sv_upgrade(name, SVt_PVNV);
sv_setpvn(name, "&", 1);
- SvIVX(name) = -1;
+ SvIV_set(name, -1);
SvNV_set(name, 1);
ix = pad_alloc(op_type, SVs_PADMY);
av_store(PL_comppad_name, ix, name);
);
new_namesv = AvARRAY(PL_comppad_name)[new_offset];
- SvIVX(new_namesv) = *out_flags;
+ SvIV_set(new_namesv, *out_flags);
SvNV_set(new_namesv, (NV)0);
if (SvFLAGS(new_namesv) & SVpad_OUR) {
if ((sv = svp[i]) && sv != &PL_sv_undef
&& !SvFAKE(sv) && !SvIVX(sv))
{
- SvIVX(sv) = PAD_MAX; /* Don't know scope end yet. */
+ SvIV_set(sv, PAD_MAX); /* Don't know scope end yet. */
SvNV_set(sv, (NV)PL_cop_seqmax);
DEBUG_Xv(PerlIO_printf(Perl_debug_log,
"Pad intromy: %ld \"%s\", (%ld,%ld)\n",
if ((sv = svp[off]) && sv != &PL_sv_undef
&& !SvFAKE(sv) && SvIVX(sv) == PAD_MAX)
{
- SvIVX(sv) = PL_cop_seqmax;
+ SvIV_set(sv, PL_cop_seqmax);
DEBUG_Xv(PerlIO_printf(Perl_debug_log,
"Pad leavemy: %ld \"%s\", (%ld,%ld)\n",
(long)off, SvPVX(sv),
#define SvRV(sv) ((XRV*) SvANY(sv))->xrv_rv
#define SvRVx(sv) SvRV(sv)
-#define SvIVX(sv) ((XPVIV*) SvANY(sv))->xiv_iv
-#define SvUVX(sv) ((XPVUV*) SvANY(sv))->xuv_uv
#ifdef PERL_DEBUG_COW
-#define SvNVX(sv) (0.0 + ((XPVNV*)SvANY(sv))->xnv_nv)
+#define SvIVX(sv) (0 + ((XPVIV*) SvANY(sv))->xiv_iv)
+#define SvUVX(sv) ((XPVUV*) SvANY(sv))->xuv_uv
+#define SvNVX(sv) (0.0 + ((XPVNV*)SvANY(sv))->xnv_nv)
#else
-#define SvNVX(sv) ((XPVNV*)SvANY(sv))->xnv_nv
+#define SvIVX(sv) ((XPVIV*) SvANY(sv))->xiv_iv
+#define SvUVX(sv) ((XPVUV*) SvANY(sv))->xuv_uv
+#define SvNVX(sv) ((XPVNV*)SvANY(sv))->xnv_nv
#endif
#define SvPVX(sv) ((XPV*) SvANY(sv))->xpv_pv
#define SvCUR(sv) ((XPV*) SvANY(sv))->xpv_cur
(void) SvIV(sv); } STMT_END
#define SvIV_set(sv, val) \
STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
- (SvIVX(sv) = (val)); } STMT_END
+ (((XPVIV*) SvANY(sv))->xiv_iv = (val)); } STMT_END
#define SvNV_set(sv, val) \
STMT_START { assert(SvTYPE(sv) == SVt_NV || SvTYPE(sv) >= SVt_PVNV); \
(((XPVNV*)SvANY(sv))->xnv_nv = (val)); } STMT_END