aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWenHan Gu <Wenhan.gu@mediatek.com>2013-06-10 15:03:56 +0800
committerLogan Chien <tzuhsiang.chien@gmail.com>2013-12-22 22:11:19 +0800
commit36b71bd8ecb9a4beaac080dbb1440b12eb4f02ff (patch)
tree1a1d997951d767386f8c05796308fbe20a01bafd
parent176cd627b3ff6495d7ed37152818f3c0b3fdd822 (diff)
downloadllvm-36b71bd8ecb9a4beaac080dbb1440b12eb4f02ff.tar.gz
[ndk] Fix build error on GCC/Clang + STLport.
* Add missing #include <cctype> since STLport has different implementation that <cctype> won't be included indirectly. * Add missing cast from enum value to unsigned int. Otherwise GCC 4.6 will bump a compile error w/ -pedantic flag. Conflicts: lib/Archive/ArchiveReader.cpp lib/Object/COFFObjectFile.cpp lib/Target/PowerPC/PPCRegisterInfo.cpp tools/bugpoint/CrashDebugger.cpp unittests/Support/IntegersSubsetTest.cpp Change-Id: I61fac1230f0b79b5227033cae69f80bf162ce607
-rw-r--r--include/llvm/ADT/EquivalenceClasses.h4
-rw-r--r--include/llvm/Object/ELF.h1
-rw-r--r--lib/Target/PowerPC/PPCRegisterInfo.cpp28
3 files changed, 19 insertions, 14 deletions
diff --git a/include/llvm/ADT/EquivalenceClasses.h b/include/llvm/ADT/EquivalenceClasses.h
index 1d81772ee8a..c4036973f20 100644
--- a/include/llvm/ADT/EquivalenceClasses.h
+++ b/include/llvm/ADT/EquivalenceClasses.h
@@ -69,10 +69,14 @@ class EquivalenceClasses {
friend class EquivalenceClasses;
mutable const ECValue *Leader, *Next;
ElemTy Data;
+
+ public:
+ // XXX: Move this constructor to public since STLport implementation needs this.
// ECValue ctor - Start out with EndOfList pointing to this node, Next is
// Null, isLeader = true.
ECValue(const ElemTy &Elt)
: Leader(this), Next((ECValue*)(intptr_t)1), Data(Elt) {}
+ private:
const ECValue *getLeader() const {
if (isLeader()) return this;
diff --git a/include/llvm/Object/ELF.h b/include/llvm/Object/ELF.h
index a6774c11503..67c18fc833f 100644
--- a/include/llvm/Object/ELF.h
+++ b/include/llvm/Object/ELF.h
@@ -30,6 +30,7 @@
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
+#include <cctype>
#include <limits>
#include <utility>
diff --git a/lib/Target/PowerPC/PPCRegisterInfo.cpp b/lib/Target/PowerPC/PPCRegisterInfo.cpp
index 19ccbfcdb16..1f0771355cc 100644
--- a/lib/Target/PowerPC/PPCRegisterInfo.cpp
+++ b/lib/Target/PowerPC/PPCRegisterInfo.cpp
@@ -61,22 +61,22 @@ PPCRegisterInfo::PPCRegisterInfo(const PPCSubtarget &ST)
ST.isPPC64() ? 0 : 1,
ST.isPPC64() ? 0 : 1),
Subtarget(ST) {
- ImmToIdxMap[PPC::LD] = PPC::LDX; ImmToIdxMap[PPC::STD] = PPC::STDX;
- ImmToIdxMap[PPC::LBZ] = PPC::LBZX; ImmToIdxMap[PPC::STB] = PPC::STBX;
- ImmToIdxMap[PPC::LHZ] = PPC::LHZX; ImmToIdxMap[PPC::LHA] = PPC::LHAX;
- ImmToIdxMap[PPC::LWZ] = PPC::LWZX; ImmToIdxMap[PPC::LWA] = PPC::LWAX;
- ImmToIdxMap[PPC::LFS] = PPC::LFSX; ImmToIdxMap[PPC::LFD] = PPC::LFDX;
- ImmToIdxMap[PPC::STH] = PPC::STHX; ImmToIdxMap[PPC::STW] = PPC::STWX;
- ImmToIdxMap[PPC::STFS] = PPC::STFSX; ImmToIdxMap[PPC::STFD] = PPC::STFDX;
- ImmToIdxMap[PPC::ADDI] = PPC::ADD4;
- ImmToIdxMap[PPC::LWA_32] = PPC::LWAX_32;
+ ImmToIdxMap[(unsigned)PPC::LD] = PPC::LDX; ImmToIdxMap[(unsigned)PPC::STD] = PPC::STDX;
+ ImmToIdxMap[(unsigned)PPC::LBZ] = PPC::LBZX; ImmToIdxMap[(unsigned)PPC::STB] = PPC::STBX;
+ ImmToIdxMap[(unsigned)PPC::LHZ] = PPC::LHZX; ImmToIdxMap[(unsigned)PPC::LHA] = PPC::LHAX;
+ ImmToIdxMap[(unsigned)PPC::LWZ] = PPC::LWZX; ImmToIdxMap[(unsigned)PPC::LWA] = PPC::LWAX;
+ ImmToIdxMap[(unsigned)PPC::LFS] = PPC::LFSX; ImmToIdxMap[(unsigned)PPC::LFD] = PPC::LFDX;
+ ImmToIdxMap[(unsigned)PPC::STH] = PPC::STHX; ImmToIdxMap[(unsigned)PPC::STW] = PPC::STWX;
+ ImmToIdxMap[(unsigned)PPC::STFS] = PPC::STFSX; ImmToIdxMap[(unsigned)PPC::STFD] = PPC::STFDX;
+ ImmToIdxMap[(unsigned)PPC::ADDI] = PPC::ADD4;
+ ImmToIdxMap[(unsigned)PPC::LWA_32] = PPC::LWAX_32;
// 64-bit
- ImmToIdxMap[PPC::LHA8] = PPC::LHAX8; ImmToIdxMap[PPC::LBZ8] = PPC::LBZX8;
- ImmToIdxMap[PPC::LHZ8] = PPC::LHZX8; ImmToIdxMap[PPC::LWZ8] = PPC::LWZX8;
- ImmToIdxMap[PPC::STB8] = PPC::STBX8; ImmToIdxMap[PPC::STH8] = PPC::STHX8;
- ImmToIdxMap[PPC::STW8] = PPC::STWX8; ImmToIdxMap[PPC::STDU] = PPC::STDUX;
- ImmToIdxMap[PPC::ADDI8] = PPC::ADD8;
+ ImmToIdxMap[(unsigned)PPC::LHA8] = PPC::LHAX8; ImmToIdxMap[(unsigned)PPC::LBZ8] = PPC::LBZX8;
+ ImmToIdxMap[(unsigned)PPC::LHZ8] = PPC::LHZX8; ImmToIdxMap[(unsigned)PPC::LWZ8] = PPC::LWZX8;
+ ImmToIdxMap[(unsigned)PPC::STB8] = PPC::STBX8; ImmToIdxMap[(unsigned)PPC::STH8] = PPC::STHX8;
+ ImmToIdxMap[(unsigned)PPC::STW8] = PPC::STWX8; ImmToIdxMap[(unsigned)PPC::STDU] = PPC::STDUX;
+ ImmToIdxMap[(unsigned)PPC::ADDI8] = PPC::ADD8;
}
/// getPointerRegClass - Return the register class to use to hold pointers.