diff --git a/src/analyze.cpp b/src/analyze.cpp index 0fddc568a5a7988fc543c3eef92e40fd11992254..88f967240afa204676f489b9a8cdace9ca29ba9b 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -3614,7 +3614,7 @@ static void add_top_level_decl(CodeGen *g, ScopeDecls *decls_scope, Tld *tld) { Tld *other_tld = entry->value; if (other_tld->id == TldIdVar) { ZigVar *var = reinterpret_cast(other_tld)->var; - if (var->var_type != nullptr && type_is_invalid(var->var_type)) { + if (var != nullptr && var->var_type != nullptr && type_is_invalid(var->var_type)) { return; // already reported compile error } } @@ -3896,7 +3896,7 @@ ZigVar *add_variable(CodeGen *g, AstNode *source_node, Scope *parent_scope, Buf bool want_err_msg = true; if (tld->id == TldIdVar) { ZigVar *var = reinterpret_cast(tld)->var; - if (var->var_type != nullptr && type_is_invalid(var->var_type)) { + if (var != nullptr && var->var_type != nullptr && type_is_invalid(var->var_type)) { want_err_msg = false; } } diff --git a/src/ir.cpp b/src/ir.cpp index cb0b6223c786dda94dccb4a6e6dbe5868444b529..48c4162a777a88f0947cab72e36d8e49b04b7fed 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -5303,7 +5303,7 @@ static ZigVar *create_local_var(CodeGen *codegen, AstNode *node, Scope *parent_s bool want_err_msg = true; if (tld->id == TldIdVar) { ZigVar *var = reinterpret_cast(tld)->var; - if (var->var_type != nullptr && type_is_invalid(var->var_type)) { + if (var != nullptr && var->var_type != nullptr && type_is_invalid(var->var_type)) { want_err_msg = false; } }