summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/DataExtractor.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2010-07-21 01:08:41 +0000
committerGreg Clayton <gclayton@apple.com>2010-07-21 01:08:41 +0000
commita0e7f0c1b1155b630b7753cd7a78cbfe88c78b01 (patch)
tree2db4dafa6a39cbe9c7766c43030c405698d5cdc3 /lldb/source/Core/DataExtractor.cpp
parent1e67040fb7cf918f3cf0fc990390953e476e8219 (diff)
downloadbcm5719-llvm-a0e7f0c1b1155b630b7753cd7a78cbfe88c78b01.tar.gz
bcm5719-llvm-a0e7f0c1b1155b630b7753cd7a78cbfe88c78b01.zip
Avoid std::bitset<64>::to_string() since it is missing in earlier C++
libraries (from William Lynch). llvm-svn: 108976
Diffstat (limited to 'lldb/source/Core/DataExtractor.cpp')
-rw-r--r--lldb/source/Core/DataExtractor.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lldb/source/Core/DataExtractor.cpp b/lldb/source/Core/DataExtractor.cpp
index 0833758202d..c1257df144c 100644
--- a/lldb/source/Core/DataExtractor.cpp
+++ b/lldb/source/Core/DataExtractor.cpp
@@ -1197,7 +1197,13 @@ DataExtractor::Dump
case eFormatBinary:
{
uint64_t uval64 = GetMaxU64Bitfield(&offset, item_byte_size, item_bit_size, item_bit_offset);
- std::string binary_value(std::bitset<64>(uval64).to_string());
+ // Avoid std::bitset<64>::to_string() since it is missing in
+ // earlier C++ libraries
+ std::string binary_value(64, '0');
+ std::bitset<64> bits(uval64);
+ for (size_t i = 0; i < 64; ++i)
+ if (bits[i])
+ binary_value[64 - 1 - i] = '1';
if (item_bit_size > 0)
s->Printf("0b%s", binary_value.c_str() + 64 - item_bit_size);
else if (item_byte_size > 0 && item_byte_size <= 8)
OpenPOWER on IntegriCloud