From 4c4430e390301324e48b70ceb7b882fedd18aa15 Mon Sep 17 00:00:00 2001 From: Chris Manghane Date: Thu, 6 Oct 2016 19:24:04 +0000 Subject: [PATCH] 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 --- gcc/go/ChangeLog | 5 +++++ gcc/go/go-gcc.cc | 3 +++ 2 files changed, 8 insertions(+) diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog index 7292b2b..b6d1e9f 100644 --- a/gcc/go/ChangeLog +++ b/gcc/go/ChangeLog @@ -1,3 +1,8 @@ +2016-10-06 Chris Manghane + + * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the + returned memory. + 2016-09-27 Than McIntosh * go-linemap.cc (Gcc_linemap::to_string): New method. diff --git a/gcc/go/go-gcc.cc b/gcc/go/go-gcc.cc index 57c2bee..b3701bf 100644 --- a/gcc/go/go-gcc.cc +++ b/gcc/go/go-gcc.cc @@ -2048,6 +2048,9 @@ Gcc_backend::stack_allocation_expression(int64_t size, Location location) tree alloca = builtin_decl_explicit(BUILT_IN_ALLOCA); tree size_tree = build_int_cst(integer_type_node, size); 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); } -- 2.7.4