diff options
author | WenHan Gu <Wenhan.gu@mediatek.com> | 2013-06-10 15:03:56 +0800 |
---|---|---|
committer | Logan Chien <tzuhsiang.chien@gmail.com> | 2013-12-22 22:11:19 +0800 |
commit | 36b71bd8ecb9a4beaac080dbb1440b12eb4f02ff (patch) | |
tree | 1a1d997951d767386f8c05796308fbe20a01bafd | |
parent | 176cd627b3ff6495d7ed37152818f3c0b3fdd822 (diff) | |
download | llvm-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.h | 4 | ||||
-rw-r--r-- | include/llvm/Object/ELF.h | 1 | ||||
-rw-r--r-- | lib/Target/PowerPC/PPCRegisterInfo.cpp | 28 |
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. |