summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorBrad Smith <brad@comstyle.com>2015-08-13 21:45:57 +0000
committerBrad Smith <brad@comstyle.com>2015-08-13 21:45:57 +0000
commit738591194f5a9574ab07ecfe00f42c91825fa29a (patch)
treef1777f79ec4ec49c3441fbaeedac7bc43dcc3332 /clang/lib/Basic/Targets.cpp
parent72182518614c2f47f7ba36d19f8a64b875241c72 (diff)
downloadbcm5719-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.cpp17
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,
OpenPOWER on IntegriCloud