summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--feature.h3
-rwxr-xr-xregen/feature.pl3
2 files changed, 4 insertions, 2 deletions
diff --git a/feature.h b/feature.h
index 2d06450628..60bf41d6a5 100644
--- a/feature.h
+++ b/feature.h
@@ -17,7 +17,8 @@
#define CURRENT_HINTS \
(PL_curcop == &PL_compiling ? PL_hints : PL_curcop->cop_hints)
-#define CURRENT_FEATURE_BUNDLE (CURRENT_HINTS >> HINT_FEATURE_SHIFT)
+#define CURRENT_FEATURE_BUNDLE \
+ ((CURRENT_HINTS & HINT_FEATURE_MASK) >> HINT_FEATURE_SHIFT)
#define FEATURE_IS_ENABLED(name) \
((CURRENT_HINTS \
diff --git a/regen/feature.pl b/regen/feature.pl
index 05643d9474..2444ad118d 100755
--- a/regen/feature.pl
+++ b/regen/feature.pl
@@ -226,7 +226,8 @@ print $h <<'EOH';
#define CURRENT_HINTS \
(PL_curcop == &PL_compiling ? PL_hints : PL_curcop->cop_hints)
-#define CURRENT_FEATURE_BUNDLE (CURRENT_HINTS >> HINT_FEATURE_SHIFT)
+#define CURRENT_FEATURE_BUNDLE \
+ ((CURRENT_HINTS & HINT_FEATURE_MASK) >> HINT_FEATURE_SHIFT)
#define FEATURE_IS_ENABLED(name) \
((CURRENT_HINTS \