This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
B::INVLIST isa B::PV (for now)
authorReini Urban <rurban@x-ray.at>
Tue, 27 Aug 2013 16:32:02 +0000 (11:32 -0500)
committerFather Chrysostomos <sprout@cpan.org>
Wed, 28 Aug 2013 03:28:58 +0000 (20:28 -0700)
If the compiler stumbles over a B::INVLIST treat it as B::PV
and do not error.
Also restore rudimentary B versioning support for BIND and INVLIST.

ext/B/B.pm
ext/B/B.xs

index 20794fa..4d0df90 100644 (file)
@@ -48,6 +48,7 @@ push @B::EXPORT_OK, (qw(minus_c ppname save_BEGINs
 @B::PVNV::ISA = qw(B::PVIV B::NV);
 @B::PVMG::ISA = 'B::PVNV';
 @B::REGEXP::ISA = 'B::PVMG' if $] >= 5.011;
+@B::INVLIST::ISA = 'B::PV'  if $] >= 5.019;
 @B::PVLV::ISA = 'B::GV';
 @B::BM::ISA = 'B::GV';
 @B::AV::ISA = 'B::PVMG';
index 62496e2..279be53 100644 (file)
@@ -21,13 +21,18 @@ typedef FILE * InputStream;
 
 static const char* const svclassnames[] = {
     "B::NULL",
+#if PERL_VERSION < 19
+    "B::BIND",
+#endif
     "B::IV",
     "B::NV",
 #if PERL_VERSION <= 10
     "B::RV",
 #endif
     "B::PV",
+#if PERL_VERSION >= 19
     "B::INVLIST",
+#endif
     "B::PVIV",
     "B::PVNV",
     "B::PVMG",