This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
This is patch.2b1g to perl5.002beta1.
[perl5.git] / op.h
diff --git a/op.h b/op.h
index 559f55c..0b4fc28 100644 (file)
--- a/op.h
+++ b/op.h
@@ -23,9 +23,9 @@
  *                     which may or may not check number of children).
  */
 
-typedef U16 PADOFFSET;
+typedef U32 PADOFFSET;
 
-#ifdef DEBUGGING
+#ifdef DEBUGGING_OPS
 #define OPCODE opcode
 #else
 #define OPCODE U16
@@ -41,7 +41,7 @@ typedef U16 PADOFFSET;
     U8         op_flags;               \
     U8         op_private;
 
-#define GIMME (op->op_flags & OPf_KNOW ? op->op_flags & OPf_LIST : cxstack[cxstack_ix].blk_gimme & G_ARRAY)
+#define GIMME (op->op_flags & OPf_KNOW ? op->op_flags & OPf_LIST : dowantarray())
 
 /* Public flags */
 #define OPf_LIST       1       /* Do operator in list context. */
@@ -88,6 +88,8 @@ typedef U16 PADOFFSET;
 #define OPpDEREF_HV            64      /* Want ref to HV. */
 
 /* Private for OP_CONST */
+#define OPpCONST_ENTERED       16      /* Has been entered as symbol. */
+#define OPpCONST_ARYBASE       32      /* Was a $[ translated to constant. */
 #define OPpCONST_BARE          64      /* Was a bare word (filehandle?). */
 
 /* Private for OP_FLIP/FLOP */
@@ -145,6 +147,7 @@ struct pmop {
     REGEXP *   op_pmregexp;            /* compiled expression */
     SV *       op_pmshort;             /* for a fast bypass of execute() */
     U16                op_pmflags;
+    U16                op_pmpermflags;
     char       op_pmslen;
 };