summaryrefslogtreecommitdiff
path: root/feature.h
diff options
context:
space:
mode:
Diffstat (limited to 'feature.h')
-rw-r--r--feature.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/feature.h b/feature.h
index 501bc3a3b1..29522eedb5 100644
--- a/feature.h
+++ b/feature.h
@@ -37,6 +37,7 @@
#define FEATURE_BUNDLE_515 3
#define FEATURE_BUNDLE_523 4
#define FEATURE_BUNDLE_527 5
+#define FEATURE_BUNDLE_535 6
#define FEATURE_BUNDLE_CUSTOM (HINT_FEATURE_MASK >> HINT_FEATURE_SHIFT)
#define CURRENT_HINTS \
@@ -54,7 +55,7 @@
#define FEATURE_FC_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_FC_BIT)) \
)
@@ -68,7 +69,7 @@
#define FEATURE_SAY_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_SAY_BIT)) \
)
@@ -82,7 +83,7 @@
#define FEATURE_STATE_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_STATE_BIT)) \
)
@@ -97,14 +98,15 @@
#define FEATURE_BITWISE_IS_ENABLED \
( \
- CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_527 \
+ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_527 && \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_BITWISE_BIT)) \
)
#define FEATURE_INDIRECT_IS_ENABLED \
( \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527 \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535 \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_INDIRECT_BIT)) \
)
@@ -112,7 +114,7 @@
#define FEATURE_EVALBYTES_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_EVALBYTES_BIT)) \
)
@@ -126,7 +128,7 @@
#define FEATURE___SUB___IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE___SUB___BIT)) \
)
@@ -140,7 +142,7 @@
#define FEATURE_POSTDEREF_QQ_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_523 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_POSTDEREF_QQ_BIT)) \
)
@@ -148,7 +150,7 @@
#define FEATURE_UNIEVAL_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_UNIEVAL_BIT)) \
)
@@ -162,21 +164,21 @@
#define FEATURE_UNICODE_IS_ENABLED \
( \
(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_511 && \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535) \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_UNICODE_BIT)) \
)
#define FEATURE_MULTIDIMENSIONAL_IS_ENABLED \
( \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527 \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535 \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_MULTIDIMENSIONAL_BIT)) \
)
#define FEATURE_BAREWORD_FILEHANDLES_IS_ENABLED \
( \
- CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527 \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_535 \
|| (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
FEATURE_IS_ENABLED_MASK(FEATURE_BAREWORD_FILEHANDLES_BIT)) \
)
@@ -204,6 +206,9 @@ S_enable_feature_bundle(pTHX_ SV *ver)
SV *comp_ver = sv_newmortal();
PL_hints = (PL_hints &~ HINT_FEATURE_MASK)
| (
+ (sv_setnv(comp_ver, 5.035),
+ vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
+ ? FEATURE_BUNDLE_535 :
(sv_setnv(comp_ver, 5.027),
vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
? FEATURE_BUNDLE_527 :