compiler: Use backend interface for stack allocation.
authorChris Manghane <cmang@google.com>
Thu, 30 Apr 2015 20:44:03 +0000 (20:44 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 30 Apr 2015 20:44:03 +0000 (20:44 +0000)
commit4f576c83fb197b74767c536583107b457aead8ef
treeea4d7673e4669f048a90928ef154e42a4227260d
parent6d158d9a6bc15a0b1bf97cc434b64c7d72f524ff
compiler: Use backend interface for stack allocation.

Stack allocation was being done by making a temporary variable and
taking its address.  This does not work when allocating in a loop
because every allocated variable will refer to the same address.
The backend now provides a way to safely allocate in a loop.

* go-gcc.cc (Gcc_backend::stack_allocation_expression): New
method.

From-SVN: r222657
gcc/go/ChangeLog
gcc/go/go-gcc.cc
gcc/go/gofrontend/backend.h
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/expressions.h