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 | 245f229df440ae1d1fc41ecb82e9bbe0ea027bbd (patch) | |
tree | 35b5ae3d005c80ae74cdebd2d2c347bd05e91824 /clang/lib/Basic/Targets.cpp | |
parent | 4f8d9eeadc8cecb8083c1377243508f9d10a599e (diff) | |
download | bcm5719-llvm-245f229df440ae1d1fc41ecb82e9bbe0ea027bbd.tar.gz bcm5719-llvm-245f229df440ae1d1fc41ecb82e9bbe0ea027bbd.zip |
More tweaks to types for OpenBSD. Patch by Jonathan Gray.
llvm-svn: 74805
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 7a5adea1a38..f850ea7dd42 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/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) |