[BRIGFE] Fix (more) crash with calls with more than 4 args.
authorHenry Linjamäki <henry.linjamaki@parmance.com>
Tue, 3 Oct 2017 15:16:34 +0000 (15:16 +0000)
committerPekka Jääskeläinen <visit0r@gcc.gnu.org>
Tue, 3 Oct 2017 15:16:34 +0000 (15:16 +0000)
It missed a reference which is required because vector expansion
can move the object to another location.

From-SVN: r253382

gcc/brig/ChangeLog
gcc/brig/brigfrontend/brig-branch-inst-handler.cc

index c66b16fba9839723144565ce79e9cc4b56e161f3..bdb701882400d43c0a4167762eacbdb498ea3ff6 100644 (file)
@@ -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
index a32dd99604484d2c807ba17d23d1968935dafbcc..30aec373732ac946aee6e6cf3c973f9c6b540695 100644 (file)
@@ -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)
            {