diff options
author | dim <dim@FreeBSD.org> | 2015-12-25 14:26:58 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-12-25 14:26:58 +0000 |
commit | 1e9b8d38881c3213d1e67b0c47ab9b2c00721a5c (patch) | |
tree | 31a414b9b5f25347b7ed9a8786c34bdb277d6127 /lib/Basic/Targets.cpp | |
parent | 4238dc458ed9a048965af111b979fd51d288f22c (diff) | |
download | FreeBSD-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.cpp | 8 |
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); |