Change 33156 by [EMAIL PROTECTED] on 2008/01/31 21:12:44
Integrate:
[ 33011]
Fix (probable) bug-by-inspection - CxREALEVAL(), CxTRYBLOCK(),
CxFOREACH() and CxFOREACHDEF() should all be masking against
CXTYPEMASK rather than their own type number.
Affected files ...
... //depot/maint-5.10/perl/cop.h#3 integrate
Differences ...
==== //depot/maint-5.10/perl/cop.h#3 (text) ====
Index: perl/cop.h
--- perl/cop.h#2~33139~ 2008-01-30 15:19:42.000000000 -0800
+++ perl/cop.h 2008-01-31 13:12:44.000000000 -0800
@@ -667,13 +667,13 @@
#define CxTYPE(c) ((c)->cx_type & CXTYPEMASK)
#define CxMULTICALL(c) (((c)->cx_type & CXp_MULTICALL) \
== CXp_MULTICALL)
-#define CxREALEVAL(c) (((c)->cx_type & (CXt_EVAL|CXp_REAL)) \
+#define CxREALEVAL(c) (((c)->cx_type & (CXTYPEMASK|CXp_REAL)) \
== (CXt_EVAL|CXp_REAL))
-#define CxTRYBLOCK(c) (((c)->cx_type & (CXt_EVAL|CXp_TRYBLOCK)) \
+#define CxTRYBLOCK(c) (((c)->cx_type & (CXTYPEMASK|CXp_TRYBLOCK)) \
== (CXt_EVAL|CXp_TRYBLOCK))
-#define CxFOREACH(c) (((c)->cx_type & (CXt_LOOP|CXp_FOREACH)) \
+#define CxFOREACH(c) (((c)->cx_type & (CXTYPEMASK|CXp_FOREACH)) \
== (CXt_LOOP|CXp_FOREACH))
-#define CxFOREACHDEF(c) (((c)->cx_type &
(CXt_LOOP|CXp_FOREACH|CXp_FOR_DEF))\
+#define CxFOREACHDEF(c) (((c)->cx_type &
(CXTYPEMASK|CXp_FOREACH|CXp_FOR_DEF))\
== (CXt_LOOP|CXp_FOREACH|CXp_FOR_DEF))
#define CXINC (cxstack_ix < cxstack_max ? ++cxstack_ix : (cxstack_ix =
cxinc()))
End of Patch.