diff options
author | Brad Smith <brad@comstyle.com> | 2015-08-13 21:45:57 +0000 |
---|---|---|
committer | Brad Smith <brad@comstyle.com> | 2015-08-13 21:45:57 +0000 |
commit | 738591194f5a9574ab07ecfe00f42c91825fa29a (patch) | |
tree | f1777f79ec4ec49c3441fbaeedac7bc43dcc3332 /clang/lib/Basic/Targets.cpp | |
parent | 72182518614c2f47f7ba36d19f8a64b875241c72 (diff) | |
download | bcm5719-llvm-738591194f5a9574ab07ecfe00f42c91825fa29a.tar.gz bcm5719-llvm-738591194f5a9574ab07ecfe00f42c91825fa29a.zip |
[SPARC] Fix types of size_t, intptr_t, and ptrdiff_t on OpenBSD.
llvm-svn: 244961
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 9756b0577c4..503bc1203c9 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -5726,16 +5726,19 @@ class SparcV8TargetInfo : public SparcTargetInfo { public: SparcV8TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) { DataLayoutString = "E-m:e-p:32:32-i64:64-f128:64-n32-S64"; - // NetBSD uses long (same as llvm default); everyone else uses int. - if (getTriple().getOS() == llvm::Triple::NetBSD) { - SizeType = UnsignedLong; - IntPtrType = SignedLong; - PtrDiffType = SignedLong; - } else { + // NetBSD / OpenBSD use long (same as llvm default); everyone else uses int. + switch (getTriple().getOS()) { + default: SizeType = UnsignedInt; IntPtrType = SignedInt; PtrDiffType = SignedInt; - } + break; + case llvm::Triple::NetBSD: + case llvm::Triple::OpenBSD: + SizeType = UnsignedLong; + IntPtrType = SignedLong; + PtrDiffType = SignedLong; + break; } void getTargetDefines(const LangOptions &Opts, |