From 983f3ec423a6a424c0e64ed2a5de41edffc459ec Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 10 Aug 2025 15:03:30 +0100 Subject: Add `#+feature global-context` This allows to use of `context` in the global scope on a per file basis. --- src/check_decl.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/check_decl.cpp') diff --git a/src/check_decl.cpp b/src/check_decl.cpp index ee7906e5e..b2522f24a 100644 --- a/src/check_decl.cpp +++ b/src/check_decl.cpp @@ -1855,7 +1855,12 @@ gb_internal void check_entity_decl(CheckerContext *ctx, Entity *e, DeclInfo *d, auto prev_flags = c.scope->flags; defer (c.scope->flags = prev_flags); - c.scope->flags &= ~ScopeFlag_ContextDefined; + + if (check_feature_flags(ctx, d->decl_node) & OptInFeatureFlag_GlobalContext) { + c.scope->flags |= ScopeFlag_ContextDefined; + } else { + c.scope->flags &= ~ScopeFlag_ContextDefined; + } e->parent_proc_decl = c.curr_proc_decl; -- cgit v1.2.3