This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Truncate the truncate tests (was Re: truncate to grow file)
[perl5.git] / op.h
diff --git a/op.h b/op.h
index 5c6a78f..e60514c 100644 (file)
--- a/op.h
+++ b/op.h
@@ -251,8 +251,8 @@ struct pmop {
 #else
     REGEXP *    op_pmregexp;            /* compiled expression */
 #endif
-    U16                op_pmflags;
-    U16                op_pmpermflags;
+    U32                op_pmflags;
+    U32                op_pmpermflags;
     U8         op_pmdynflags;
 #ifdef USE_ITHREADS
     char *     op_pmstashpv;
@@ -263,7 +263,7 @@ struct pmop {
 
 #ifdef USE_ITHREADS
 #define PM_GETRE(o)     (INT2PTR(REGEXP*,SvIVX(PL_regex_pad[(o)->op_pmoffset])))
-#define PM_SETRE(o,r)   (sv_setiv(PL_regex_pad[(o)->op_pmoffset], PTR2IV(r)))
+#define PM_SETRE(o,r)   STMT_START { SV* sv = PL_regex_pad[(o)->op_pmoffset]; sv_setiv(sv, PTR2IV(r)); } STMT_END
 #define PM_GETRE_SAFE(o) (PL_regex_pad ? PM_GETRE(o) : (REGEXP*)0)
 #define PM_SETRE_SAFE(o,r) if (PL_regex_pad) PM_SETRE(o,r)
 #else
@@ -282,7 +282,7 @@ struct pmop {
 
 #define PMf_RETAINT    0x0001          /* taint $1 etc. if target tainted */
 #define PMf_ONCE       0x0002          /* use pattern only once per reset */
-#define PMf_REVERSED   0x0004          /* Should be matched right->left */
+#define PMf_UNUSED     0x0004          /* free for use */
 #define PMf_MAYBE_CONST        0x0008          /* replacement contains variables */
 #define PMf_SKIPWHITE  0x0010          /* skip leading whitespace for split */
 #define PMf_WHITE      0x0020          /* pattern is \s+ */