diff options
| author | LemonBoy <thatlemon@gmail.com> | 2020-01-08 21:32:53 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-01-08 17:25:00 -0500 |
| commit | 27b290f3125b2526200bad4a818f9f43ba58ee2e (patch) | |
| tree | 58fd85562beb8abcfebfadff1e525028518c51f8 /src/analyze.cpp | |
| parent | 02ace4569ec52561f627ad3a33d7b90b7bdbb6f5 (diff) | |
| download | zig-27b290f3125b2526200bad4a818f9f43ba58ee2e.tar.gz zig-27b290f3125b2526200bad4a818f9f43ba58ee2e.zip | |
Propagate more failures upwards
Fixes #4112
Diffstat (limited to 'src/analyze.cpp')
| -rw-r--r-- | src/analyze.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp index b15d986558..a19b56cc9d 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -4787,11 +4787,16 @@ static void analyze_fn_body(CodeGen *g, ZigFn *fn_table_entry) { ZigType *fn_type = fn_table_entry->type_entry; assert(!fn_type->data.fn.is_generic); - ir_gen_fn(g, fn_table_entry); + if (!ir_gen_fn(g, fn_table_entry)) { + fn_table_entry->anal_state = FnAnalStateInvalid; + return; + } + if (fn_table_entry->ir_executable->first_err_trace_msg != nullptr) { fn_table_entry->anal_state = FnAnalStateInvalid; return; } + if (g->verbose_ir) { fprintf(stderr, "\n"); ast_render(stderr, fn_table_entry->body_node, 4); |
