authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-01-27 20:56:24-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-01-27 20:56:24-05:00
logc58633ef17beb908fdfed46d7ca13e08d0d93648
treec654955c1537d28bcf48bac74932e916f82f894e
parent9d59cdb8c13db0cfbc01f499dc227b1964ca24cc
signature Commit is signed but in an unrecognized format.

fix assertion with var debug loc not initialized


2 files changed, 3 insertions(+), 1 deletions(-)

src/all_types.hpp+1
...@@ -2286,6 +2286,7 @@ struct ZigVar {...@@ -2286,6 +2286,7 @@ struct ZigVar {
2286 bool is_thread_local;2286 bool is_thread_local;
2287 bool is_comptime_memoized;2287 bool is_comptime_memoized;
2288 bool is_comptime_memoized_value;2288 bool is_comptime_memoized_value;
2289 bool did_the_decl_codegen;
2289};2290};
22902291
2291struct ErrorTableEntry {2292struct ErrorTableEntry {
src/codegen.cpp+2-1
...@@ -3505,6 +3505,7 @@ static void render_decl_var(CodeGen *g, ZigVar *var) {...@@ -3505,6 +3505,7 @@ static void render_decl_var(CodeGen *g, ZigVar *var) {
35053505
3506static LLVMValueRef ir_render_decl_var(CodeGen *g, IrExecutableGen *executable, IrInstGenDeclVar *instruction) {3506static LLVMValueRef ir_render_decl_var(CodeGen *g, IrExecutableGen *executable, IrInstGenDeclVar *instruction) {
3507 instruction->var->ptr_instruction = instruction->var_ptr;3507 instruction->var->ptr_instruction = instruction->var_ptr;
3508 instruction->var->did_the_decl_codegen = true;
3508 render_decl_var(g, instruction->var);3509 render_decl_var(g, instruction->var);
3509 return nullptr;3510 return nullptr;
3510}3511}
...@@ -3973,7 +3974,7 @@ static void render_async_var_decls(CodeGen *g, Scope *scope) {...@@ -3973,7 +3974,7 @@ static void render_async_var_decls(CodeGen *g, Scope *scope) {
3973 return;3974 return;
3974 case ScopeIdVarDecl: {3975 case ScopeIdVarDecl: {
3975 ZigVar *var = reinterpret_cast<ScopeVarDecl *>(scope)->var;3976 ZigVar *var = reinterpret_cast<ScopeVarDecl *>(scope)->var;
3976 if (var->ptr_instruction != nullptr) {3977 if (var->did_the_decl_codegen) {
3977 render_decl_var(g, var);3978 render_decl_var(g, var);
3978 }3979 }
3979 // fallthrough3980 // fallthrough