summaryrefslogtreecommitdiffstats
path: root/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-12-25 14:26:58 +0000
committerdim <dim@FreeBSD.org>2015-12-25 14:26:58 +0000
commit1e9b8d38881c3213d1e67b0c47ab9b2c00721a5c (patch)
tree31a414b9b5f25347b7ed9a8786c34bdb277d6127 /lib/Basic/Targets.cpp
parent4238dc458ed9a048965af111b979fd51d288f22c (diff)
downloadFreeBSD-src-1e9b8d38881c3213d1e67b0c47ab9b2c00721a5c.zip
FreeBSD-src-1e9b8d38881c3213d1e67b0c47ab9b2c00721a5c.tar.gz
Import clang 3.7.1 release (r255217).
Diffstat (limited to 'lib/Basic/Targets.cpp')
-rw-r--r--lib/Basic/Targets.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index e4db004..9e44f7d 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -3968,7 +3968,13 @@ public:
class MinGWX86_64TargetInfo : public WindowsX86_64TargetInfo {
public:
MinGWX86_64TargetInfo(const llvm::Triple &Triple)
- : WindowsX86_64TargetInfo(Triple) {}
+ : WindowsX86_64TargetInfo(Triple) {
+ // Mingw64 rounds long double size and alignment up to 16 bytes, but sticks
+ // with x86 FP ops. Weird.
+ LongDoubleWidth = LongDoubleAlign = 128;
+ LongDoubleFormat = &llvm::APFloat::x87DoubleExtended;
+ }
+
void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const override {
WindowsX86_64TargetInfo::getTargetDefines(Opts, Builder);
OpenPOWER on IntegriCloud