diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-07-05 22:31:18 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-07-05 22:31:18 +0000 |
commit | 6036ebe330ff97223d7d226de6eb3a74af5aeb32 (patch) | |
tree | 0dbb0212c0360b4d7f58d64f19af9df0da932cc6 /lib/Basic/Targets.cpp | |
parent | 7b332d9ada3e2806a4d765000527f739f167791f (diff) |
More tweaks to types for OpenBSD. Patch by Jonathan Gray.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74805 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/Targets.cpp')
-rw-r--r-- | lib/Basic/Targets.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 7a5adea1a3..f850ea7dd4 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -895,6 +895,7 @@ public: OpenBSDTargetInfo<X86_32TargetInfo>(triple) { SizeType = UnsignedLong; IntPtrType = SignedLong; + PtrDiffType = SignedLong; } }; } // end anonymous namespace @@ -988,6 +989,18 @@ public: } // end anonymous namespace namespace { +class OpenBSDX86_64TargetInfo : public OpenBSDTargetInfo<X86_64TargetInfo> { +public: + OpenBSDX86_64TargetInfo(const std::string& triple) + : OpenBSDTargetInfo<X86_64TargetInfo>(triple) { + IntMaxType = SignedLongLong; + UIntMaxType = UnsignedLongLong; + Int64Type = SignedLongLong; + } +}; +} // end anonymous namespace + +namespace { class ARMTargetInfo : public TargetInfo { enum { Armv4t, @@ -1392,7 +1405,7 @@ TargetInfo* TargetInfo::CreateTargetInfo(const std::string &T) { if (isLinux) return new LinuxTargetInfo<X86_64TargetInfo>(T); if (isOpenBSD) - return new OpenBSDTargetInfo<X86_64TargetInfo>(T); + return new OpenBSDX86_64TargetInfo(T); if (isFreeBSD) return new FreeBSDTargetInfo<X86_64TargetInfo>(T); if (isSolaris) |