summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y7
1 files changed, 7 insertions, 0 deletions
diff --git a/parse.y b/parse.y
index 84a6efd9f6..fa2139b721 100644
--- a/parse.y
+++ b/parse.y
@@ -7999,6 +7999,13 @@ parser_set_compile_option_flag(struct parser_params *p, const char *name, const
static void
parser_set_shareable_constant_value(struct parser_params *p, const char *name, const char *val)
{
+ for (const char *s = p->lex.pbeg, *e = p->lex.pcur; s < e; ++s) {
+ if (*s == ' ' || *s == '\t') continue;
+ if (*s == '#') break;
+ rb_warning1("`%s' is ignored unless in comment-only line", WARN_S(name));
+ return;
+ }
+
int b = parser_get_bool(p, name, val);
if (b >= 0) p->ctxt.shareable_constant_value = b;
}