# HG changeset patch # User LYH # Date 1389214723 -3600 # Node ID 0122fad2743585ac98c4d6015ffc5a7fc8c42d43 # Parent 8b22a9215ec246a4d17a2cd7b3a034d4b16ceffd jit compiler: Fix uminus op support with scalar type * libinterp/corefcn/jit-typeinfo.cc: Add missing overload for uminus support. diff -r 8b22a9215ec2 -r 0122fad27435 libinterp/corefcn/jit-typeinfo.cc --- a/libinterp/corefcn/jit-typeinfo.cc Sat Nov 02 23:09:49 2013 +0100 +++ b/libinterp/corefcn/jit-typeinfo.cc Wed Jan 08 21:58:43 2014 +0100 @@ -1247,6 +1247,8 @@ destroy_fn.add_overload (create_identity(index)); destroy_fn.add_overload (create_identity(complex)); + // -------------------- scalar related operations -------------------- + // now for binary scalar operations add_binary_op (scalar, octave_value::op_add, llvm::Instruction::FAdd); add_binary_op (scalar, octave_value::op_sub, llvm::Instruction::FSub); @@ -1335,6 +1337,7 @@ val = builder.CreateFMul (val, mone); fn.do_return (builder, val); } + unary_ops[octave_value::op_uminus].add_overload (fn); fn = create_identity (scalar); unary_ops[octave_value::op_uplus].add_overload (fn);