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 | a349d522f72a1b7eec20f0d46330218adbe2384a (patch) | |
tree | b412a4da2df4bcc15595011d536adfd0577f380a /llvm/lib/System/Disassembler.cpp | |
parent | 1d3c2fa9be7a1856889fb4f9c2a07d1b755aeae8 (diff) | |
download | bcm5719-llvm-a349d522f72a1b7eec20f0d46330218adbe2384a.tar.gz bcm5719-llvm-a349d522f72a1b7eec20f0d46330218adbe2384a.zip |
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.
llvm-svn: 105790
Diffstat (limited to 'llvm/lib/System/Disassembler.cpp')
-rw-r--r-- | llvm/lib/System/Disassembler.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/llvm/lib/System/Disassembler.cpp b/llvm/lib/System/Disassembler.cpp index bad427a58d8..139e3be1aae 100644 --- a/llvm/lib/System/Disassembler.cpp +++ b/llvm/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 |