aboutsummaryrefslogtreecommitdiff
path: root/src/stage1/analyze.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-04-12 15:54:28 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-04-12 15:54:28 -0700
commit262e09c482d98a78531c049a18b7f24146fe157f (patch)
tree1846cfba5b5194c4c4eda4215b50f8dbd8ccf58c /src/stage1/analyze.cpp
parentc4c7cb252a4a9c54a1c4eac6c990dec4b61024d4 (diff)
downloadzig-262e09c482d98a78531c049a18b7f24146fe157f.tar.gz
zig-262e09c482d98a78531c049a18b7f24146fe157f.zip
stage1: resolve builtin types and values via std.builtin
rather than via `@import("builtin")`. This helps avoid the need for `usingnamespace` used in builtin.zig or in std.builtin.
Diffstat (limited to 'src/stage1/analyze.cpp')
-rw-r--r--src/stage1/analyze.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/stage1/analyze.cpp b/src/stage1/analyze.cpp
index d7535ed806..21ad55b8f7 100644
--- a/src/stage1/analyze.cpp
+++ b/src/stage1/analyze.cpp
@@ -8185,14 +8185,18 @@ bool err_ptr_eql(const ErrorTableEntry *a, const ErrorTableEntry *b) {
}
ZigValue *get_builtin_value(CodeGen *codegen, const char *name) {
- ScopeDecls *builtin_scope = get_container_scope(codegen->compile_var_import);
- Tld *tld = find_container_decl(codegen, builtin_scope, buf_create_from_str(name));
+ Buf *buf_name = buf_create_from_str(name);
+
+ ScopeDecls *builtin_scope = get_container_scope(codegen->std_builtin_import);
+ Tld *tld = find_container_decl(codegen, builtin_scope, buf_name);
assert(tld != nullptr);
resolve_top_level_decl(codegen, tld, nullptr, false);
assert(tld->id == TldIdVar && tld->resolution == TldResolutionOk);
TldVar *tld_var = (TldVar *)tld;
ZigValue *var_value = tld_var->var->const_value;
assert(var_value != nullptr);
+
+ buf_destroy(buf_name);
return var_value;
}