This creates an unallocated space at the shared/unshared boundary of the
data with regexp.h. This allows any future bits that may be needed to
go into either, without affecting binary compatibility. I chose a
number of spare bits larger than I thought we would ever need
#define PM_SETRE(o,r) ((o)->op_pmregexp = (r))
#endif
#define PM_SETRE(o,r) ((o)->op_pmregexp = (r))
#endif
-#define PMf_BASE_SHIFT _RXf_PMf_SHIFT_NEXT
+/* Leave some space, so future bit allocations can go either in the shared or
+ * unshared area without affecting binary compatibility */
+#define PMf_BASE_SHIFT (_RXf_PMf_SHIFT_NEXT+8)
/* taint $1 etc. if target tainted */
#define PMf_RETAINT (1<<(PMf_BASE_SHIFT+0))
/* taint $1 etc. if target tainted */
#define PMf_RETAINT (1<<(PMf_BASE_SHIFT+0))