summaryrefslogtreecommitdiff
path: root/cop.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-05-20 15:27:28 +0000
committerNicholas Clark <nick@ccl4.org>2006-05-20 15:27:28 +0000
commitd5ec2987912a76b3059b7bd1d06cf02b4d0dae0c (patch)
tree6d477542cce33da4dc5bf3735207faff526dcb55 /cop.h
parentda1b432288c7bdd52edfc35caa4160c03c637985 (diff)
downloadperl-d5ec2987912a76b3059b7bd1d06cf02b4d0dae0c.tar.gz
Move the hints from op_private into cop_hints. This allows all 32 bits
to be stored. Make B::Concise display the new hints field, and modify B::Deparse to use it. p4raw-id: //depot/perl@28257
Diffstat (limited to 'cop.h')
-rw-r--r--cop.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/cop.h b/cop.h
index 203e4312d0..21dc228f96 100644
--- a/cop.h
+++ b/cop.h
@@ -143,6 +143,7 @@ struct cop {
HV * cop_stash; /* package line was compiled in */
GV * cop_filegv; /* file the following line # is from */
#endif
+ U32 cop_hints; /* hints bits from pragmata */
U32 cop_seq; /* parse sequence number */
line_t cop_line; /* line # of this command */
/* Beware. mg.c and warnings.pl assume the type of this is STRLEN *: */
@@ -239,8 +240,8 @@ struct cop {
"$[", 2, 0, 0)) \
: 0)
#define CopARYBASE_set(c, b) STMT_START { \
- if (b || ((c)->op_private & HINT_ARYBASE)) { \
- (c)->op_private |= HINT_ARYBASE; \
+ if (b || ((c)->cop_hints & HINT_ARYBASE)) { \
+ (c)->cop_hints |= HINT_ARYBASE; \
if ((c) == &PL_compiling) \
PL_hints |= HINT_LOCALIZE_HH | HINT_ARYBASE; \
(c)->cop_hints_hash \
@@ -251,10 +252,9 @@ struct cop {
} STMT_END
/* FIXME NATIVE_HINTS if this is changed from op_private (see perl.h) */
-#define CopHINTS_get(c) ((c)->op_private + 0)
+#define CopHINTS_get(c) ((c)->cop_hints + 0)
#define CopHINTS_set(c, h) STMT_START { \
- (c)->op_private \
- = (U8)((h) & HINT_PRIVATE_MASK); \
+ (c)->cop_hints = (h); \
} STMT_END
/*