aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-04-08 17:44:29 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-04-08 17:44:29 -0400
commitee1a4f4c1d888d1485d8bb13ee0fa756bf729b08 (patch)
tree151da8064d7f08e1f56b13c4a2ef73d2148aa450 /src/analyze.cpp
parent9e98ea552dcf03a4a05a920c8f027d09130dd688 (diff)
downloadzig-ee1a4f4c1d888d1485d8bb13ee0fa756bf729b08.tar.gz
zig-ee1a4f4c1d888d1485d8bb13ee0fa756bf729b08.zip
error return traces work with async return case
Diffstat (limited to 'src/analyze.cpp')
-rw-r--r--src/analyze.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp
index ae2a1a1b1d..3db49a11c9 100644
--- a/src/analyze.cpp
+++ b/src/analyze.cpp
@@ -474,6 +474,7 @@ TypeTableEntry *get_promise_frame_type(CodeGen *g, TypeTableEntry *return_type)
field_names.append(RESULT_FIELD_NAME);
field_names.append(RESULT_PTR_FIELD_NAME);
if (g->have_err_ret_tracing) {
+ field_names.append(ERR_RET_TRACE_PTR_FIELD_NAME);
field_names.append(ERR_RET_TRACE_FIELD_NAME);
field_names.append(RETURN_ADDRESSES_FIELD_NAME);
}
@@ -483,7 +484,7 @@ TypeTableEntry *get_promise_frame_type(CodeGen *g, TypeTableEntry *return_type)
field_types.append(return_type);
field_types.append(result_ptr_type);
if (g->have_err_ret_tracing) {
- get_ptr_to_stack_trace_type(g);
+ field_types.append(get_ptr_to_stack_trace_type(g));
field_types.append(g->stack_trace_type);
field_types.append(get_array_type(g, g->builtin_types.entry_usize, stack_trace_ptr_count));
}