diff options
| author | Ginger Bill <bill@gingerbill.org> | 2016-12-16 11:31:08 +0000 |
|---|---|---|
| committer | Ginger Bill <bill@gingerbill.org> | 2016-12-16 11:31:08 +0000 |
| commit | f5679832608c93e8ebc2004ffd92fbe174450a01 (patch) | |
| tree | f7f314d6305f9f92fb72a67db4afa1cff22aa3de /src/checker/checker.c | |
| parent | ad843141439fc101709dc234c289d5d6d4676aaf (diff) | |
Semicolons mandatory again (and probably forever now...)
Diffstat (limited to 'src/checker/checker.c')
| -rw-r--r-- | src/checker/checker.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/checker/checker.c b/src/checker/checker.c index 5bf066c1a..12982f1ac 100644 --- a/src/checker/checker.c +++ b/src/checker/checker.c @@ -991,17 +991,22 @@ void init_preload(Checker *c) { } if (t_type_info == NULL) { - Entity *e = current_scope_lookup_entity(c->global_scope, str_lit("Type_Info")); - if (e == NULL) { + Entity *type_info_entity = current_scope_lookup_entity(c->global_scope, str_lit("Type_Info")); + if (type_info_entity == NULL) { compiler_error("Could not find type declaration for `Type_Info`\n" "Is `runtime.odin` missing from the `core` directory relative to odin.exe?"); } - t_type_info = e->type; + Entity *type_info_member_entity = current_scope_lookup_entity(c->global_scope, str_lit("Type_Info_Member")); + if (type_info_entity == NULL) { + compiler_error("Could not find type declaration for `Type_Info_Member`\n" + "Is `runtime.odin` missing from the `core` directory relative to odin.exe?"); + } + t_type_info = type_info_entity->type; t_type_info_ptr = make_type_pointer(c->allocator, t_type_info); - GB_ASSERT(is_type_union(e->type)); - TypeRecord *record = &base_type(e->type)->Record; + GB_ASSERT(is_type_union(type_info_entity->type)); + TypeRecord *record = &base_type(type_info_entity->type)->Record; - t_type_info_member = record->other_fields[0]->type; + t_type_info_member = type_info_member_entity->type; t_type_info_member_ptr = make_type_pointer(c->allocator, t_type_info_member); if (record->field_count != 18) { |