This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add GPFLAGS and GPf_* to B
authorFather Chrysostomos <sprout@cpan.org>
Tue, 23 Sep 2014 05:09:34 +0000 (22:09 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Tue, 23 Sep 2014 12:52:01 +0000 (05:52 -0700)
ext/B/B.xs
ext/B/Makefile.PL
ext/B/t/b.t

index 15cadaf..bc423cc 100644 (file)
@@ -1799,6 +1799,10 @@ U32
 GvLINE(gv)
         B::GV   gv
 
+U32
+GvGPFLAGS(gv)
+        B::GV   gv
+
 void
 FILEGV(gv)
        B::GV   gv
index 308b015..81f6826 100644 (file)
@@ -30,7 +30,7 @@ my @names = ({ name => 'HEf_SVKEY', macro => 1, type => "IV" },
 # match the pattern below.
 foreach my $tuple (['cop.h'],
                    ['cv.h', 'CVf'],
-                   ['gv.h', 'GVf'],
+                   ['gv.h', 'G[PV]f'],
                    ['op.h'],
                    ['opcode.h', 'OPp'],
                    ['op_reg_common.h','(?:(?:RXf_)?PMf_)'],
index 271eb37..7bdd87c 100644 (file)
@@ -203,6 +203,12 @@ is($gv_ref->SAFENAME(), "gv", "Test SAFENAME()");
 like($gv_ref->FILE(), qr/b\.t$/, "Testing FILE()");
 is($gv_ref->SvTYPE(), B::SVt_PVGV, "Test SvTYPE()");
 is($gv_ref->FLAGS() & B::SVTYPEMASK, B::SVt_PVGV, "Test SVTYPEMASK");
+is($gv_ref->GPFLAGS & B::GPf_ALIASED_SV, 0, 'GPFLAGS are unset');
+{
+    local *gv = \my $x;
+    is($gv_ref->GPFLAGS & B::GPf_ALIASED_SV, B::GPf_ALIASED_SV,
+        'GPFLAGS gets GPf_ALIASED_SV set');
+}    
 
 # The following return B::SPECIALs.
 is(ref B::sv_yes(), "B::SPECIAL", "B::sv_yes()");