diff options
Diffstat (limited to 'src/checker.cpp')
| -rw-r--r-- | src/checker.cpp | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/checker.cpp b/src/checker.cpp index ec907cc1d..c243c704b 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -61,8 +61,6 @@ enum BuiltinProcId { BuiltinProc_abs, BuiltinProc_clamp, - BuiltinProc_transmute, - BuiltinProc_DIRECTIVE, // NOTE(bill): This is used for specialized hash-prefixed procedures BuiltinProc_COUNT, @@ -107,8 +105,6 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = { {STR_LIT("abs"), 1, false, Expr_Expr}, {STR_LIT("clamp"), 3, false, Expr_Expr}, - {STR_LIT("transmute"), 2, false, Expr_Expr}, - {STR_LIT(""), 0, true, Expr_Expr}, // DIRECTIVE }; @@ -2172,33 +2168,37 @@ void check_import_entities(Checker *c, Map<Scope *> *file_scopes) { scope->has_been_imported = true; if (id->import_name.string == ".") { - // NOTE(bill): Add imported entities to this file's scope - for_array(elem_index, scope->elements.entries) { - Entity *e = scope->elements.entries[elem_index].value; - if (e->scope == parent_scope) { - continue; - } + if (parent_scope->is_global) { + error(id->import_name, "#shared_global_scope imports cannot use ."); + } else { + // NOTE(bill): Add imported entities to this file's scope + for_array(elem_index, scope->elements.entries) { + Entity *e = scope->elements.entries[elem_index].value; + if (e->scope == parent_scope) { + continue; + } - if (!is_entity_kind_exported(e->kind)) { - continue; - } - if (id->is_import) { - if (is_entity_exported(e)) { - // TODO(bill): Should these entities be imported but cause an error when used? - bool ok = add_entity(c, parent_scope, e->identifier, e); - if (ok) { - map_set(&parent_scope->implicit, hash_entity(e), true); + if (!is_entity_kind_exported(e->kind)) { + continue; + } + if (id->is_import) { + if (is_entity_exported(e)) { + // TODO(bill): Should these entities be imported but cause an error when used? + bool ok = add_entity(c, parent_scope, e->identifier, e); + if (ok) { + map_set(&parent_scope->implicit, hash_entity(e), true); + } } + } else { + add_entity(c, parent_scope, e->identifier, e); } - } else { - add_entity(c, parent_scope, e->identifier, e); } } } else { String import_name = path_to_entity_name(id->import_name.string, id->fullpath); if (is_blank_ident(import_name)) { - error(token, "File name, %.*s, cannot be as an import name as it is not a valid identifier", LIT(id->import_name.string)); + error(token, "File name, %.*s, cannot be use as an import name as it is not a valid identifier", LIT(id->import_name.string)); } else { GB_ASSERT(id->import_name.pos.line != 0); id->import_name.string = import_name; |