import Devel-Size 0.63 from CPAN
Dan Sugalski [Fri, 1 Jul 2005 16:43:17 +0000 (08:43 -0800)]
git-cpan-module:   Devel-Size
git-cpan-version:  0.63
git-cpan-authorid: DSUGAL
git-cpan-file:     authors/id/D/DS/DSUGAL/Devel-Size-0.63.tar.gz

Changes
META.yml
Size.pm
Size.xs

diff --git a/Changes b/Changes
index c2708e5..c0f2a2c 100755 (executable)
--- a/Changes
+++ b/Changes
@@ -41,4 +41,9 @@ Revision history for Perl extension Devel::Size.
         - Took out // comments
        - Added in copyright notice
        - Some small amount of regex parsing
-       - Suppress multiple copies of each warning on each call
\ No newline at end of file
+       - Suppress multiple copies of each warning on each call
+
+0.63  Thu Jun 30 14:29:43 2005
+        - Turns out that OP_TRANS is a basic op, not a loop op. This
+         is a bug in versions of perl 5.8.x before 5.8.7. Work around
+         it.
index 819a41e..fb3c857 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -1,7 +1,7 @@
 # http://module-build.sourceforge.net/META-spec.html
 #XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
 name:         Devel-Size
-version:      0.62
+version:      0.63
 version_from: Size.pm
 installdirs:  site
 requires:
diff --git a/Size.pm b/Size.pm
index 5918034..e0e6f7e 100755 (executable)
--- a/Size.pm
+++ b/Size.pm
@@ -24,7 +24,7 @@ require DynaLoader;
 @EXPORT = qw(
        
 );
-$VERSION = '0.62';
+$VERSION = '0.63';
 
 bootstrap Devel::Size $VERSION;
 
diff --git a/Size.xs b/Size.xs
index bd1b20c..5fde288 100755 (executable)
--- a/Size.xs
+++ b/Size.xs
@@ -19,9 +19,8 @@ typedef enum {
     OPc_SVOP,  /* 7 */
     OPc_PADOP, /* 8 */
     OPc_PVOP,  /* 9 */
-    OPc_CVOP,  /* 10 */
-    OPc_LOOP,  /* 11 */
-    OPc_COP    /* 12 */
+    OPc_LOOP,  /* 10 */
+    OPc_COP    /* 11 */
 } opclass;
 
 static opclass
@@ -41,6 +40,10 @@ cc_opclass(OP *o)
        return OPc_PADOP;
 #endif
 
+    if (o->op_type = OP_TRANS) {
+      return OPc_BASEOP;
+    }
+
     switch (PL_opargs[o->op_type] & OA_CLASS_MASK) {
     case OA_BASEOP:
        return OPc_BASEOP;
@@ -316,6 +319,7 @@ UV op_size(OP *baseop, HV *tracking_hash) {
       total_size += op_size(cLOOPx(baseop)->op_lastop, tracking_hash);
     }  
     */
+    break;
   case OPc_COP:
     {
       COP *basecop;