Fix the default for intptr_t on *BSD x86-32 and Windows. Slight cleanup
by moving the general case to the generic x86-32 target.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68015 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 4ea7328..b3224fe 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -630,6 +630,9 @@
DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
"i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-"
"a0:0:64-f80:32:32";
+ SizeType = UnsignedInt;
+ PtrDiffType = SignedInt;
+ IntPtrType = SignedInt;
}
virtual const char *getVAListDeclaration() const {
return "typedef char* __builtin_va_list;";
@@ -644,7 +647,8 @@
DarwinI386TargetInfo(const std::string& triple) : X86_32TargetInfo(triple) {
LongDoubleWidth = 128;
LongDoubleAlign = 128;
- PtrDiffType = SignedInt;
+ SizeType = UnsignedLong;
+ IntPtrType = SignedLong;
DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
"i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-"
"a0:0:64-f80:128:128";
@@ -668,10 +672,7 @@
class FreeBSDX86_32TargetInfo : public X86_32TargetInfo {
public:
FreeBSDX86_32TargetInfo(const std::string& triple) :
- X86_32TargetInfo(triple) {
- SizeType = UnsignedInt;
- PtrDiffType = SignedInt;
- }
+ X86_32TargetInfo(triple) { }
virtual void getTargetDefines(const LangOptions &Opts,
std::vector<char> &Defines) const {
X86_32TargetInfo::getTargetDefines(Opts, Defines);
@@ -685,10 +686,7 @@
class DragonFlyX86_32TargetInfo : public X86_32TargetInfo {
public:
DragonFlyX86_32TargetInfo(const std::string& triple) :
- X86_32TargetInfo(triple) {
- SizeType = UnsignedInt;
- PtrDiffType = SignedInt;
- }
+ X86_32TargetInfo(triple) { }
virtual void getTargetDefines(const LangOptions &Opts,
std::vector<char> &Defines) const {
X86_32TargetInfo::getTargetDefines(Opts, Defines);
@@ -703,9 +701,6 @@
public:
LinuxX86_32TargetInfo(const std::string& triple) : X86_32TargetInfo(triple) {
UserLabelPrefix = "";
- SizeType = UnsignedInt;
- PtrDiffType = SignedInt;
- IntPtrType = SignedInt;
}
virtual void getTargetDefines(const LangOptions &Opts,
std::vector<char> &Defines) const {
@@ -724,8 +719,6 @@
// FIXME: Fix wchar_t.
// FIXME: We should probably enable -fms-extensions by default for
// this target.
- SizeType = UnsignedInt;
- PtrDiffType = SignedInt;
}
virtual void getTargetDefines(const LangOptions &Opts,
std::vector<char> &Defines) const {