diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-03-29 20:31:09 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-03-29 20:31:09 +0000 |
commit | 32ca82a450c77dd997e63004112d74f1d5f94457 (patch) | |
tree | 0582d298ed4a95aed28ac219f48911a4ee90fba9 /clang/lib/Basic/Targets.cpp | |
parent | 8fde3036bf28de2684758361e6b58c5f9ef699d2 (diff) | |
download | bcm5719-llvm-32ca82a450c77dd997e63004112d74f1d5f94457.tar.gz bcm5719-llvm-32ca82a450c77dd997e63004112d74f1d5f94457.zip |
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.
llvm-svn: 68015
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 4ea73280cdf..b3224fe1d2c 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -630,6 +630,9 @@ public: 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 @@ public: 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 @@ namespace { 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 @@ namespace { 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 @@ class LinuxX86_32TargetInfo : public X86_32TargetInfo { 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 @@ public: // 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 { |