From 4ff7ba015de411d089c69f26283c784cd235cf0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Thu, 30 Oct 2014 19:17:19 +0100 Subject: [PATCH] Fix u256 to APInt conversion --- libevmjit/Type.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libevmjit/Type.cpp b/libevmjit/Type.cpp index 447da6a4bd..ec11acef5b 100644 --- a/libevmjit/Type.cpp +++ b/libevmjit/Type.cpp @@ -43,10 +43,7 @@ llvm::ConstantInt* Constant::get(uint64_t _n) llvm::ConstantInt* Constant::get(u256 _n) { - auto& backend = _n.backend(); - auto words = reinterpret_cast(backend.limbs()); - auto nWords = backend.limb_bits == 64 ? backend.size() : (backend.size() + 1) / 2; - llvm::APInt n(256, nWords, words); + llvm::APInt n(256, _n.str(0, std::ios_base::hex), 16); assert(n.toString(10, false) == _n.str()); return static_cast(llvm::ConstantInt::get(Type::i256, n)); }