This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
op.h: Parenthesize macro args for cUNOPx etc.
authorFather Chrysostomos <sprout@cpan.org>
Sun, 28 Dec 2014 01:18:52 +0000 (17:18 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 28 Dec 2014 01:18:52 +0000 (17:18 -0800)
Without this, we cannot do cUNOPx(complex expression) without worrying
about precedence issues.

op.h

diff --git a/op.h b/op.h
index a84a02b..80aac56 100644 (file)
--- a/op.h
+++ b/op.h
@@ -419,18 +419,18 @@ struct loop {
     OP *       op_lastop;
 };
 
-#define cUNOPx(o)      ((UNOP*)o)
-#define cUNOP_AUXx(o)  ((UNOP_AUX*)o)
-#define cBINOPx(o)     ((BINOP*)o)
-#define cLISTOPx(o)    ((LISTOP*)o)
-#define cLOGOPx(o)     ((LOGOP*)o)
-#define cPMOPx(o)      ((PMOP*)o)
-#define cSVOPx(o)      ((SVOP*)o)
-#define cPADOPx(o)     ((PADOP*)o)
-#define cPVOPx(o)      ((PVOP*)o)
-#define cCOPx(o)       ((COP*)o)
-#define cLOOPx(o)      ((LOOP*)o)
-#define cMETHOPx(o)    ((METHOP*)o)
+#define cUNOPx(o)      ((UNOP*)(o))
+#define cUNOP_AUXx(o)  ((UNOP_AUX*)(o))
+#define cBINOPx(o)     ((BINOP*)(o))
+#define cLISTOPx(o)    ((LISTOP*)(o))
+#define cLOGOPx(o)     ((LOGOP*)(o))
+#define cPMOPx(o)      ((PMOP*)(o))
+#define cSVOPx(o)      ((SVOP*)(o))
+#define cPADOPx(o)     ((PADOP*)(o))
+#define cPVOPx(o)      ((PVOP*)(o))
+#define cCOPx(o)       ((COP*)(o))
+#define cLOOPx(o)      ((LOOP*)(o))
+#define cMETHOPx(o)    ((METHOP*)(o))
 
 #define cUNOP          cUNOPx(PL_op)
 #define cUNOP_AUX      cUNOP_AUXx(PL_op)