summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-01-02 20:47:31 +0000
committerNicholas Clark <nick@ccl4.org>2007-01-02 20:47:31 +0000
commit2e94196c9b65166bc30c1956b01df877a36f8934 (patch)
treeb99c35ca437ec79ef2f15a090f77f1695031b382
parent93c535ac3c07a4674324635bcb8ecc089468009f (diff)
downloadperl-2e94196c9b65166bc30c1956b01df877a36f8934.tar.gz
PVMG can be isUV too.
p4raw-id: //depot/perl@29668
-rw-r--r--dump.c3
-rw-r--r--ext/Devel/Peek/t/Peek.t12
2 files changed, 12 insertions, 3 deletions
diff --git a/dump.c b/dump.c
index 7f221814a9..2a78e7879c 100644
--- a/dump.c
+++ b/dump.c
@@ -1450,8 +1450,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
case SVt_PVMG:
if (SvPAD_TYPED(sv)) sv_catpv(d, "TYPED,");
if (SvPAD_OUR(sv)) sv_catpv(d, "OUR,");
- if (SvPAD_STATE(sv)) sv_catpv(d, "STATE,");
- break;
+ /* FALL THROUGH */
case SVt_PVNV:
if (SvPAD_STATE(sv)) sv_catpv(d, "STATE,");
goto evaled_or_uv;
diff --git a/ext/Devel/Peek/t/Peek.t b/ext/Devel/Peek/t/Peek.t
index ed622fd7ce..04546be9de 100644
--- a/ext/Devel/Peek/t/Peek.t
+++ b/ext/Devel/Peek/t/Peek.t
@@ -14,7 +14,7 @@ BEGIN { require "./test.pl"; }
use Devel::Peek;
-plan(23);
+plan(24);
our $DEBUG = 0;
open(SAVERR, ">&STDERR") or die "Can't dup STDERR: $!";
@@ -503,3 +503,13 @@ do_test(23,
OUTSIDE_SEQ = 0
PADLIST = 0x0
OUTSIDE = 0x0 \\(null\\)');
+
+# isUV should show on PVMG
+do_test(24,
+ do { my $v = $1; $v = ~0; $v },
+'SV = PVMG\\($ADDR\\) at $ADDR
+ REFCNT = 1
+ FLAGS = \\(IOK,pIOK,IsUV\\)
+ UV = \d+
+ NV = 0
+ PV = 0');