summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dump.c3
-rw-r--r--ext/Devel-Peek/t/Peek.t2
-rw-r--r--sv.h2
3 files changed, 5 insertions, 2 deletions
diff --git a/dump.c b/dump.c
index 70efde4090..54999adf55 100644
--- a/dump.c
+++ b/dump.c
@@ -1587,7 +1587,8 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
return;
}
if ((type >= SVt_PVIV && type != SVt_PVAV && type != SVt_PVHV
- && type != SVt_PVCV && !isGV_with_GP(sv) && type != SVt_PVFM)
+ && type != SVt_PVCV && !isGV_with_GP(sv) && type != SVt_PVFM
+ && type != SVt_PVIO)
|| (type == SVt_IV && !SvROK(sv))) {
if (SvIsUV(sv)
#ifdef PERL_OLD_COPY_ON_WRITE
diff --git a/ext/Devel-Peek/t/Peek.t b/ext/Devel-Peek/t/Peek.t
index 4a4d27493d..aeb36d074d 100644
--- a/ext/Devel-Peek/t/Peek.t
+++ b/ext/Devel-Peek/t/Peek.t
@@ -616,7 +616,7 @@ do_test(25,
SV = PVIO\\($ADDR\\) at $ADDR
REFCNT = 3
FLAGS = \\(OBJECT\\)
- IV = 0
+ IV = 0 # $] < 5.011
NV = 0 # $] < 5.011
STASH = $ADDR\s+"IO::Handle"
IFP = $ADDR
diff --git a/sv.h b/sv.h
index 0146de472d..a5c568c301 100644
--- a/sv.h
+++ b/sv.h
@@ -1071,6 +1071,7 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(_svivx) != SVt_PVHV); \
assert(SvTYPE(_svivx) != SVt_PVCV); \
assert(SvTYPE(_svivx) != SVt_PVFM); \
+ assert(SvTYPE(_svivx) != SVt_PVIO); \
assert(!isGV_with_GP(_svivx)); \
&(((XPVIV*) MUTABLE_PTR(SvANY(_svivx)))->xiv_iv); \
}))
@@ -1081,6 +1082,7 @@ the scalar's value cannot change unless written to.
assert(SvTYPE(_svuvx) != SVt_PVHV); \
assert(SvTYPE(_svuvx) != SVt_PVCV); \
assert(SvTYPE(_svuvx) != SVt_PVFM); \
+ assert(SvTYPE(_svuvx) != SVt_PVIO); \
assert(!isGV_with_GP(_svuvx)); \
&(((XPVUV*) MUTABLE_PTR(SvANY(_svuvx)))->xuv_uv); \
}))