# HG changeset patch # User Abhinav Tripathi
# Date 1480279024 28800 # Sun Nov 27 12:37:04 2016 -0800 # Node ID dfcaa37450abb0c932194fb9eb6e774497a1302f # Parent 736adf0f583e14083d0e46edde3c21d02debfda9 Try to fix JIT compilation with llvm 3.8.1 * Update function syntaxes and values to be used diff -r 736adf0f583e -r dfcaa37450ab libinterp/corefcn/jit-typeinfo.cc --- a/libinterp/corefcn/jit-typeinfo.cc Mon Nov 07 22:36:24 2016 -0800 +++ b/libinterp/corefcn/jit-typeinfo.cc Sun Nov 27 12:37:04 2016 -0800 @@ -213,7 +213,7 @@ } extern "C" void -octave_jit_octave::err_nan_to_logical_conversion (void) +octave_jit_octave_err_nan_to_logical_conversion (void) { octave::err_nan_to_logical_conversion (); } @@ -721,9 +721,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 @@ -740,7 +740,7 @@ if (sret ()) { - builder.CreateStore (rval, llvm_function->arg_begin ()); + builder.CreateStore (rval, &(*llvm_function->arg_begin ())); builder.CreateRetVoid (); } else @@ -1173,7 +1173,7 @@ for (int op = 0; op < octave_value::num_binary_ops; ++op) { llvm::Twine fn_name ("octave_jit_binary_any_any_"); - fn_name = fn_name + llvm::Twine (op); + fn_name.concat (llvm::Twine (op)); fn = create_internal (fn_name, any, any, any); fn.mark_can_error (); @@ -1505,7 +1505,7 @@ logically_true_fn.stash_name ("logically_true"); jit_function gripe_nantl - = create_external (JIT_FN (octave_jit_octave::err_nan_to_logical_conversion), 0); + = create_external (JIT_FN (octave_jit_octave_err_nan_to_logical_conversion), 0); gripe_nantl.mark_can_error (); fn = create_internal ("octave_jit_logically_true_scalar", boolean, scalar); diff -r 736adf0f583e -r dfcaa37450ab libinterp/corefcn/pt-jit.cc --- a/libinterp/corefcn/pt-jit.cc Mon Nov 07 22:36:24 2016 -0800 +++ b/libinterp/corefcn/pt-jit.cc Sun Nov 27 12:37:04 2016 -0800 @@ -51,6 +51,7 @@ #include