changeset 24241:ca25f6e48ca5

jit: Convert llvm::Function::arg_iterator to pointer explicitely * libinterp/corefcn/jit-typeinfo.cc: Convert llvm::Function::arg_iterator to pointer explicitely. Implicit conversion has been removed in LLVM 3.8.0. * libinterp/corefcn/pt-jit.cc: Idem.
author Julien Bect <jbect@users.sourceforge.net>
date Fri, 21 Jul 2017 07:32:44 +0200
parents 939925a782e8
children 545657c20e60
files libinterp/parse-tree/jit-typeinfo.cc libinterp/parse-tree/pt-jit.cc
diffstat 2 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/parse-tree/jit-typeinfo.cc	Sat Nov 04 22:13:03 2017 +0100
+++ b/libinterp/parse-tree/jit-typeinfo.cc	Fri Jul 21 07:32:44 2017 +0200
@@ -725,9 +725,9 @@
     for (size_t i = 0; i < idx; ++i, ++iter);
 
     if (args[idx]->pointer_arg (call_conv))
-      return builder.CreateLoad (iter);
+      return builder.CreateLoad (&*iter);
 
-    return iter;
+    return &*iter;
   }
 
   void
@@ -744,7 +744,7 @@
 
         if (sret ())
           {
-            builder.CreateStore (rval, llvm_function->arg_begin ());
+            builder.CreateStore (rval, &*(llvm_function->arg_begin ()));
             builder.CreateRetVoid ();
           }
         else
--- a/libinterp/parse-tree/pt-jit.cc	Sat Nov 04 22:13:03 2017 +0100
+++ b/libinterp/parse-tree/pt-jit.cc	Fri Jul 21 07:32:44 2017 +0200
@@ -1330,7 +1330,7 @@
         prelude = llvm::BasicBlock::Create (context, "prelude", function);
         builder.SetInsertPoint (prelude);
 
-        llvm::Value *arg = function->arg_begin ();
+        llvm::Value *arg = &*(function->arg_begin ());
         for (size_t i = 0; i < argument_vec.size (); ++i)
           {
             llvm::Value *loaded_arg = builder.CreateConstInBoundsGEP1_32 (arg, i);