go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the returned memory.

* go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
	returned memory.

From-SVN: r240840
This commit is contained in:
Chris Manghane 2016-10-06 19:24:04 +00:00 committed by Ian Lance Taylor
parent f31276858a
commit 4c4430e390
2 changed files with 8 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2016-10-06 Chris Manghane <cmang@google.com>
* go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
returned memory.
2016-09-27 Than McIntosh <thanm@google.com> 2016-09-27 Than McIntosh <thanm@google.com>
* go-linemap.cc (Gcc_linemap::to_string): New method. * go-linemap.cc (Gcc_linemap::to_string): New method.

View File

@ -2048,6 +2048,9 @@ Gcc_backend::stack_allocation_expression(int64_t size, Location location)
tree alloca = builtin_decl_explicit(BUILT_IN_ALLOCA); tree alloca = builtin_decl_explicit(BUILT_IN_ALLOCA);
tree size_tree = build_int_cst(integer_type_node, size); tree size_tree = build_int_cst(integer_type_node, size);
tree ret = build_call_expr_loc(location.gcc_location(), alloca, 1, size_tree); tree ret = build_call_expr_loc(location.gcc_location(), alloca, 1, size_tree);
tree memset = builtin_decl_explicit(BUILT_IN_MEMSET);
ret = build_call_expr_loc(location.gcc_location(), memset, 3,
ret, integer_zero_node, size_tree);
return this->make_expression(ret); return this->make_expression(ret);
} }