summaryrefslogtreecommitdiff
path: root/gcc/brig
diff options
context:
space:
mode:
authorHenry Linjamäki <henry.linjamaki@parmance.com>2017-10-03 15:16:34 +0000
committerPekka Jääskeläinen <visit0r@gcc.gnu.org>2017-10-03 15:16:34 +0000
commit9c53f040cb3c3bc0b86f702af5bd73d904d6cf0f (patch)
tree09f48fcad5596db25f4c8786047696d2ef4d2da9 /gcc/brig
parent4f8d1d3268c6c1fe336e0cf7587355cd2eb671f0 (diff)
[BRIGFE] Fix (more) crash with calls with more than 4 args.
It missed a reference which is required because vector expansion can move the object to another location. From-SVN: r253382
Diffstat (limited to 'gcc/brig')
-rw-r--r--gcc/brig/ChangeLog6
-rw-r--r--gcc/brig/brigfrontend/brig-branch-inst-handler.cc2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/brig/ChangeLog b/gcc/brig/ChangeLog
index c66b16fba98..bdb70188240 100644
--- a/gcc/brig/ChangeLog
+++ b/gcc/brig/ChangeLog
@@ -1,3 +1,9 @@
+2017-10-03 Henry Linjamäki <henry.linjamaki@parmance.com>
+
+ * brigfrontend/brig-branch-inst-handler.cc: Fix (more) crash with
+ calls with more than 4 args. It missed a reference which is required
+ because vector expansion can move the object to another location.
+
2017-09-29 Henry Linjamäki <henry.linjamaki@parmance.com>
* brigfrontend/brig-branch-inst-handler.cc: Fix crash with
diff --git a/gcc/brig/brigfrontend/brig-branch-inst-handler.cc b/gcc/brig/brigfrontend/brig-branch-inst-handler.cc
index a32dd996044..30aec373732 100644
--- a/gcc/brig/brigfrontend/brig-branch-inst-handler.cc
+++ b/gcc/brig/brigfrontend/brig-branch-inst-handler.cc
@@ -70,7 +70,7 @@ brig_branch_inst_handler::operator () (const BrigBase *base)
const BrigOperandOffset32_t *operand_ptr
= (const BrigOperandOffset32_t *) data->bytes;
- vec<tree, va_gc> *args = i == 0 ? out_args : in_args;
+ vec<tree, va_gc> *&args = i == 0 ? out_args : in_args;
while (bytes > 0)
{