diff options
author | Duncan Sands <baldrick@free.fr> | 2010-06-10 16:23:15 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2010-06-10 16:23:15 +0000 |
commit | fc6afa92d6599f1f325c96313701f790fb7f2e6a (patch) | |
tree | 3dc44fffa34c4d61fd0c8c1d6d796b7015ebdf7d /lib | |
parent | 39dea6ff768098f33da8441b8323100f68999573 (diff) | |
download | external_llvm-fc6afa92d6599f1f325c96313701f790fb7f2e6a.zip external_llvm-fc6afa92d6599f1f325c96313701f790fb7f2e6a.tar.gz external_llvm-fc6afa92d6599f1f325c96313701f790fb7f2e6a.tar.bz2 |
Avoid "variable 'bits' set but not used [-Wunused-but-set-variable]"
warnings with gcc-4.6, by not setting bits when the result is not
used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105790 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/System/Disassembler.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/lib/System/Disassembler.cpp b/lib/System/Disassembler.cpp index bad427a..139e3be 100644 --- a/lib/System/Disassembler.cpp +++ b/lib/System/Disassembler.cpp @@ -44,33 +44,29 @@ std::string llvm::sys::disassembleBuffer(uint8_t* start, size_t length, uint64_t pc) { std::stringstream res; -#if defined (__i386__) || defined (__amd64__) || defined (__x86_64__) +#if (defined (__i386__) || defined (__amd64__) || defined (__x86_64__)) \ + && USE_UDIS86 unsigned bits; # if defined(__i386__) bits = 32; # else bits = 64; # endif - -# if USE_UDIS86 + ud_t ud_obj; - + ud_init(&ud_obj); ud_set_input_buffer(&ud_obj, start, length); ud_set_mode(&ud_obj, bits); ud_set_pc(&ud_obj, pc); ud_set_syntax(&ud_obj, UD_SYN_ATT); - + res << std::setbase(16) << std::setw(bits/4); - + while (ud_disassemble(&ud_obj)) { res << ud_insn_off(&ud_obj) << ":\t" << ud_insn_asm(&ud_obj) << "\n"; } -# else - res << "No disassembler available. See configure help for options.\n"; -# endif - #else res << "No disassembler available. See configure help for options.\n"; #endif |