summaryrefslogtreecommitdiff
path: root/include/llvm/Bitcode
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2012-02-07 10:53:19 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2012-02-07 10:53:19 +0000
commitb0b527b62cdcbe6e1a5947534fd749b310856a17 (patch)
treed35fcf5ed18b071344c064ff9c9f78966d522860 /include/llvm/Bitcode
parente26cdbe1c7f66e201626a61b5eb98ebb330018e0 (diff)
downloadllvm-b0b527b62cdcbe6e1a5947534fd749b310856a17.tar.gz
llvm-b0b527b62cdcbe6e1a5947534fd749b310856a17.tar.bz2
llvm-b0b527b62cdcbe6e1a5947534fd749b310856a17.tar.xz
Bitcode/BitstreamReader.h: Tweak for big endian hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149980 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Bitcode')
-rw-r--r--include/llvm/Bitcode/BitstreamReader.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/llvm/Bitcode/BitstreamReader.h b/include/llvm/Bitcode/BitstreamReader.h
index e55910b27a..6586829440 100644
--- a/include/llvm/Bitcode/BitstreamReader.h
+++ b/include/llvm/Bitcode/BitstreamReader.h
@@ -17,6 +17,7 @@
#include "llvm/ADT/OwningPtr.h"
#include "llvm/Bitcode/BitCodes.h"
+#include "llvm/Support/Endian.h"
#include "llvm/Support/StreamableMemoryObject.h"
#include <climits>
#include <string>
@@ -242,12 +243,13 @@ public:
}
uint32_t getWord(size_t pos) {
- uint32_t word = -1;
+ uint8_t buf[sizeof(uint32_t)];
+ memset(buf, 0xFF, sizeof(buf));
BitStream->getBitcodeBytes().readBytes(pos,
- sizeof(word),
- reinterpret_cast<uint8_t *>(&word),
+ sizeof(buf),
+ buf,
NULL);
- return word;
+ return *reinterpret_cast<support::ulittle32_t *>(buf);
}
bool AtEndOfStream() {