summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-02-20 21:59:15 +0000
committerdim <dim@FreeBSD.org>2014-02-20 21:59:15 +0000
commit71b05635f0af9304195bb237ed6f5777d29020b2 (patch)
tree50d5ccda787645225336cebf0ac01094ca35224f /contrib/llvm/tools/clang/lib/Basic/Targets.cpp
parent882a15c9c203706f0c18c3358b30a7219c039b85 (diff)
downloadFreeBSD-src-71b05635f0af9304195bb237ed6f5777d29020b2.zip
FreeBSD-src-71b05635f0af9304195bb237ed6f5777d29020b2.tar.gz
Import a whole bunch of clang trunk commits to enable self-hosting clang
3.4 on Sparc64 (commit descriptions left out for brevity): r198311 r198312 r198911 r198912 r198918 r198923 r199012 r199034 r199037 r199188 r199399 r200452 Submitted by: rdivacky
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Basic/Targets.cpp')
-rw-r--r--contrib/llvm/tools/clang/lib/Basic/Targets.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/contrib/llvm/tools/clang/lib/Basic/Targets.cpp b/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
index bccd0d7..70b7ac5 100644
--- a/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
+++ b/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
@@ -4529,6 +4529,13 @@ public:
UIntMaxType = UnsignedLong;
}
Int64Type = IntMaxType;
+
+ // The SPARCv8 System V ABI has long double 128-bits in size, but 64-bit
+ // aligned. The SPARCv9 SCD 2.4.1 says 16-byte aligned.
+ LongDoubleWidth = 128;
+ LongDoubleAlign = 128;
+ LongDoubleFormat = &llvm::APFloat::IEEEquad;
+ MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64;
}
virtual void getTargetDefines(const LangOptions &Opts,
OpenPOWER on IntegriCloud