diff options
author | Hans Wennborg <hans@hanshq.net> | 2015-08-19 16:40:03 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2015-08-19 16:40:03 +0000 |
commit | cba5ef1893d6e867a7e8e856cd9300808cf8b51f (patch) | |
tree | d8804c670de2fe50c5d6772f721375cdc9b10836 | |
parent | 2640a930acca26eff00e1e566caaa48ff668c89a (diff) |
Merging r245084:
------------------------------------------------------------------------
r245084 | martell | 2015-08-14 12:05:56 -0700 (Fri, 14 Aug 2015) | 13 lines
WindowsX86: long double is x87DoubleExtended on mingw
Summary:
long double on x86 mingw is 80bits and is aligned to 16bytes
Fixes:
https://llvm.org/bugs/show_bug.cgi?id=24398
Reviewers: rnk
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D12037
------------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_37@245456 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Basic/Targets.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index e4db004b49..23edea8dd5 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -3738,7 +3738,10 @@ namespace { class MinGWX86_32TargetInfo : public WindowsX86_32TargetInfo { public: MinGWX86_32TargetInfo(const llvm::Triple &Triple) - : WindowsX86_32TargetInfo(Triple) {} + : WindowsX86_32TargetInfo(Triple) { + LongDoubleWidth = LongDoubleAlign = 128; + LongDoubleFormat = &llvm::APFloat::x87DoubleExtended; + } void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { WindowsX86_32TargetInfo::getTargetDefines(Opts, Builder); @@ -3968,7 +3971,10 @@ public: class MinGWX86_64TargetInfo : public WindowsX86_64TargetInfo { public: MinGWX86_64TargetInfo(const llvm::Triple &Triple) - : WindowsX86_64TargetInfo(Triple) {} + : WindowsX86_64TargetInfo(Triple) { + LongDoubleWidth = LongDoubleAlign = 128; + LongDoubleFormat = &llvm::APFloat::x87DoubleExtended; + } void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override { WindowsX86_64TargetInfo::getTargetDefines(Opts, Builder); |