authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-04-02 18:11:53-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-04-02 18:31:19-04:00
logd577dde636173e5ec799e67ead32722ac59148db
tree4ffce779348936b20e1e83db5b500045560af64d
parent9780fd59f063d23e69ceadf4305453531b704c11
signature Commit is signed but in an unrecognized format.

passing all tests


2 files changed, 5 insertions(+), 2 deletions(-)

src/analyze.cpp+2-2
...@@ -1731,7 +1731,7 @@ static Error resolve_union_alignment(CodeGen *g, ZigType *union_type) {...@@ -1731,7 +1731,7 @@ static Error resolve_union_alignment(CodeGen *g, ZigType *union_type) {
1731 union_type->data.unionation.reported_infinite_err = true;1731 union_type->data.unionation.reported_infinite_err = true;
1732 union_type->data.unionation.resolve_status = ResolveStatusInvalid;1732 union_type->data.unionation.resolve_status = ResolveStatusInvalid;
1733 ErrorMsg *msg = add_node_error(g, decl_node,1733 ErrorMsg *msg = add_node_error(g, decl_node,
1734 buf_sprintf("union '%s' depends on its own alignment", buf_ptr(&union_type->name)));1734 buf_sprintf("union '%s' contains itself", buf_ptr(&union_type->name)));
1735 emit_error_notes_for_ref_stack(g, msg);1735 emit_error_notes_for_ref_stack(g, msg);
1736 }1736 }
1737 return ErrorSemanticAnalyzeFail;1737 return ErrorSemanticAnalyzeFail;
...@@ -2225,7 +2225,7 @@ static Error resolve_struct_alignment(CodeGen *g, ZigType *struct_type) {...@@ -2225,7 +2225,7 @@ static Error resolve_struct_alignment(CodeGen *g, ZigType *struct_type) {
2225 if (struct_type->data.structure.resolve_status != ResolveStatusInvalid) {2225 if (struct_type->data.structure.resolve_status != ResolveStatusInvalid) {
2226 struct_type->data.structure.resolve_status = ResolveStatusInvalid;2226 struct_type->data.structure.resolve_status = ResolveStatusInvalid;
2227 ErrorMsg *msg = add_node_error(g, decl_node,2227 ErrorMsg *msg = add_node_error(g, decl_node,
2228 buf_sprintf("struct '%s' depends on its own alignment", buf_ptr(&struct_type->name)));2228 buf_sprintf("struct '%s' contains itself", buf_ptr(&struct_type->name)));
2229 emit_error_notes_for_ref_stack(g, msg);2229 emit_error_notes_for_ref_stack(g, msg);
2230 }2230 }
2231 return ErrorSemanticAnalyzeFail;2231 return ErrorSemanticAnalyzeFail;
src/codegen.cpp+3
...@@ -6737,6 +6737,9 @@ static void do_code_gen(CodeGen *g) {...@@ -6737,6 +6737,9 @@ static void do_code_gen(CodeGen *g) {
6737 if (have_err_ret_trace_stack) {6737 if (have_err_ret_trace_stack) {
6738 ZigType *array_type = get_array_type(g, g->builtin_types.entry_usize, stack_trace_ptr_count);6738 ZigType *array_type = get_array_type(g, g->builtin_types.entry_usize, stack_trace_ptr_count);
6739 err_ret_array_val = build_alloca(g, array_type, "error_return_trace_addresses", get_abi_alignment(g, array_type));6739 err_ret_array_val = build_alloca(g, array_type, "error_return_trace_addresses", get_abi_alignment(g, array_type));
6740
6741 // populate g->stack_trace_type
6742 (void)get_ptr_to_stack_trace_type(g);
6740 g->cur_err_ret_trace_val_stack = build_alloca(g, g->stack_trace_type, "error_return_trace", get_abi_alignment(g, g->stack_trace_type));6743 g->cur_err_ret_trace_val_stack = build_alloca(g, g->stack_trace_type, "error_return_trace", get_abi_alignment(g, g->stack_trace_type));
6741 } else {6744 } else {
6742 g->cur_err_ret_trace_val_stack = nullptr;6745 g->cur_err_ret_trace_val_stack = nullptr;