r245084 - WindowsX86: long double is x87DoubleExtended on mingw
Hans Wennborg via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 18 15:01:36 PDT 2015
Richard, I tried to ping you on the review thread but I'm not sure it
got through. Martell requested this be merged to 3.7. What do you
think?
On Fri, Aug 14, 2015 at 12:05 PM, Martell Malone via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> Author: martell
> Date: Fri Aug 14 14:05:56 2015
> New Revision: 245084
>
> URL: http://llvm.org/viewvc/llvm-project?rev=245084&view=rev
> Log:
> 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
>
> Modified:
> cfe/trunk/lib/Basic/Targets.cpp
>
> Modified: cfe/trunk/lib/Basic/Targets.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=245084&r1=245083&r2=245084&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Basic/Targets.cpp (original)
> +++ cfe/trunk/lib/Basic/Targets.cpp Fri Aug 14 14:05:56 2015
> @@ -3784,7 +3784,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);
> @@ -4014,7 +4017,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);
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list