summaryrefslogtreecommitdiff
path: root/op_reg_common.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2010-07-31 14:18:03 -0600
committerRafael Garcia-Suarez <rgs@consttype.org>2010-08-11 10:23:35 +0200
commitbb1c6009cb7b6b922ff045cd5494bf183ec5ddbc (patch)
treecae0750e2184441f764d102a4a4213043a62e669 /op_reg_common.h
parent3214c85f0cf79132ec9bd3848fbc74923594dc83 (diff)
downloadperl-bb1c6009cb7b6b922ff045cd5494bf183ec5ddbc.tar.gz
op_reg_common.h: Move things around
Moving the definitions of the duplicate variables makes it easier to read. Unfortunately, the values can't be in terms of the previous ones because defsubs_h.PL doesn't pick them up. So I've made them numeric with a #if to make sure they don't drift off.
Diffstat (limited to 'op_reg_common.h')
-rw-r--r--op_reg_common.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/op_reg_common.h b/op_reg_common.h
index de100dc780..b6a4f75f5f 100644
--- a/op_reg_common.h
+++ b/op_reg_common.h
@@ -12,18 +12,25 @@
/* These defines are used in both op.h and regexp.h The definitions use the
* shift form so that ext/B/defsubs_h.PL will pick them up */
#define RXf_PMf_MULTILINE (1 << 0) /* /m */
-#define PMf_MULTILINE (1 << 0) /* /m */
#define RXf_PMf_SINGLELINE (1 << 1) /* /s */
-#define PMf_SINGLELINE (1 << 1) /* /s */
#define RXf_PMf_FOLD (1 << 2) /* /i */
-#define PMf_FOLD (1 << 2) /* /i */
#define RXf_PMf_EXTENDED (1 << 3) /* /x */
-#define PMf_EXTENDED (1 << 3) /* /x */
#define RXf_PMf_KEEPCOPY (1 << 4) /* /p */
-#define PMf_KEEPCOPY (1 << 4) /* /p */
#define RXf_PMf_LOCALE (1 << 5)
-#define PMf_LOCALE (1 << 5)
/* Next available bit after the above. Name begins with '_' so won't be
* exported by B */
#define _RXf_PMf_SHIFT_NEXT 6
+
+
+/* These copies need to be numerical or defsubs_h.PL won't know about them. */
+#define PMf_MULTILINE 1<<0
+#define PMf_SINGLELINE 1<<1
+#define PMf_FOLD 1<<2
+#define PMf_EXTENDED 1<<3
+#define PMf_KEEPCOPY 1<<4
+#define PMf_LOCALE 1<<5
+
+#if PMf_MULTILINE != RXf_PMf_MULTILINE || PMf_SINGLELINE != RXf_PMf_SINGLELINE || PMf_FOLD != RXf_PMf_FOLD || PMf_EXTENDED != RXf_PMf_EXTENDED || PMf_KEEPCOPY != RXf_PMf_KEEPCOPY || PMf_LOCALE != RXf_PMf_LOCALE
+# error RXf_PMf defines are wrong
+#endif