From 6f872e04c85213406dcda52d3d8051f0a3022f6d Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 28 Sep 2021 12:24:51 +0100 Subject: Move redundant `auto_cast` error from `-vet` to `-vet-extra` --- src/llvm_backend_expr.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/llvm_backend_expr.cpp') diff --git a/src/llvm_backend_expr.cpp b/src/llvm_backend_expr.cpp index 64ab2158a..de9acf0ed 100644 --- a/src/llvm_backend_expr.cpp +++ b/src/llvm_backend_expr.cpp @@ -1204,6 +1204,17 @@ lbValue lb_emit_conv(lbProcedure *p, lbValue value, Type *t) { } return lb_emit_conv(p, res, t); } + + if (is_type_integer_128bit(dst)) { + auto args = array_make(temporary_allocator(), 1); + args[0] = value; + char const *call = "fixunsdfdi"; + if (is_type_unsigned(dst)) { + call = "fixunsdfti"; + } + lbValue res_i128 = lb_emit_runtime_call(p, call, args); + return lb_emit_conv(p, res_i128, t); + } lbValue res = {}; res.type = t; -- cgit v1.2.3