(+ the new cfe-commits list; sorry for the spam)
On Fri, Aug 14, 2015 at 1:25 PM, Hans Wennborg <h...@chromium.org> wrote: > Reid and Nico suggested this should be merged to 3.7 together with > r244468 as it fixes an issue with libc++ when compiled with Clang on > x86_64 Android. > > John, you're the CodeGen owner. OK to merge these two? > > On Mon, Jul 27, 2015 at 1:15 PM, Hans Wennborg <h...@chromium.org> wrote: >> I see. Those other patches aren't in the branch, so I guess this one >> doesn't apply either. >> >> - Hans >> >> On Mon, Jul 27, 2015 at 12:11 PM, Chih-hung Hsieh <c...@google.com> wrote: >>> It should work with 3.7 ff useFloat128ManglingForLongDouble is there, >>> although I don't know any project needing this patch alone. >>> >>> In additional to this patch, >>> http://reviews.llvm.org/D11437 and http://reviews.llvm.org/D11438 >>> are required to replace gcc with clang/llvm to compile libm for Android. >>> >>> >>> On Mon, Jul 27, 2015 at 11:39 AM, Hans Wennborg <h...@chromium.org> wrote: >>>> >>>> Should this be merged to 3.7? >>>> >>>> On Fri, Jul 24, 2015 at 11:12 AM, Chih-Hung Hsieh <c...@google.com> wrote: >>>> > Author: chh >>>> > Date: Fri Jul 24 13:12:54 2015 >>>> > New Revision: 243133 >>>> > >>>> > URL: http://llvm.org/viewvc/llvm-project?rev=243133&view=rev >>>> > Log: >>>> > Correct x86_64 Android fp128 mangled name >>>> > >>>> > These changes are for Android x86_64 targets to be compatible with >>>> > current Android g++. >>>> > https://llvm.org/bugs/show_bug.cgi?id=23897 >>>> > Use 'g' and 'Cg' for "long double" and "long double _Complex" mangled >>>> > type names. >>>> > >>>> > Differential Revision: http://reviews.llvm.org/D11466 >>>> > >>>> > Added: >>>> > cfe/trunk/test/CodeGen/long_double_fp128.cpp >>>> > 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=243133&r1=243132&r2=243133&view=diff >>>> > >>>> > ============================================================================== >>>> > --- cfe/trunk/lib/Basic/Targets.cpp (original) >>>> > +++ cfe/trunk/lib/Basic/Targets.cpp Fri Jul 24 13:12:54 2015 >>>> > @@ -7071,6 +7071,10 @@ public: >>>> > : LinuxTargetInfo<X86_64TargetInfo>(Triple) { >>>> > LongDoubleFormat = &llvm::APFloat::IEEEquad; >>>> > } >>>> > + >>>> > + bool useFloat128ManglingForLongDouble() const override { >>>> > + return true; >>>> > + } >>>> > }; >>>> > } // end anonymous namespace >>>> > >>>> > >>>> > Added: cfe/trunk/test/CodeGen/long_double_fp128.cpp >>>> > URL: >>>> > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/long_double_fp128.cpp?rev=243133&view=auto >>>> > >>>> > ============================================================================== >>>> > --- cfe/trunk/test/CodeGen/long_double_fp128.cpp (added) >>>> > +++ cfe/trunk/test/CodeGen/long_double_fp128.cpp Fri Jul 24 13:12:54 >>>> > 2015 >>>> > @@ -0,0 +1,22 @@ >>>> > +// RUN: %clang_cc1 -triple x86_64-linux-android -emit-llvm -o - %s \ >>>> > +// RUN: | FileCheck %s --check-prefix=A64 >>>> > +// RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %s \ >>>> > +// RUN: | FileCheck %s --check-prefix=G64 >>>> > +// RUN: %clang_cc1 -triple powerpc64-linux-gnu -emit-llvm -o - %s \ >>>> > +// RUN: | FileCheck %s --check-prefix=P64 >>>> > +// RUN: %clang_cc1 -triple i686-linux-android -emit-llvm -o - %s \ >>>> > +// RUN: | FileCheck %s --check-prefix=A32 >>>> > +// RUN: %clang_cc1 -triple i686-linux-gnu -emit-llvm -o - %s \ >>>> > +// RUN: | FileCheck %s --check-prefix=G32 >>>> > +// RUN: %clang_cc1 -triple powerpc-linux-gnu -emit-llvm -o - %s \ >>>> > +// RUN: | FileCheck %s --check-prefix=P32 >>>> > + >>>> > +// Check mangled name of long double. >>>> > +// Android's gcc and llvm use fp128 for long double. >>>> > +void test(long, float, double, long double, long double _Complex) { } >>>> > +// A64: define void @_Z4testlfdgCg(i64, float, double, fp128, { fp128, >>>> > fp128 }* >>>> > +// G64: define void @_Z4testlfdeCe(i64, float, double, x86_fp80, { >>>> > x86_fp80, x86_fp80 }* >>>> > +// P64: define void @_Z4testlfdgCg(i64, float, double, ppc_fp128, >>>> > ppc_fp128 {{.*}}, ppc_fp128 >>>> > +// A32: define void @_Z4testlfdeCe(i32, float, double, double, { >>>> > double, double }* >>>> > +// G32: define void @_Z4testlfdeCe(i32, float, double, x86_fp80, { >>>> > x86_fp80, x86_fp80 }* >>>> > +// P32: define void @_Z4testlfdgCg(i32, float, double, ppc_fp128, { >>>> > ppc_fp128, ppc_fp128 }* >>>> > >>>> > >>>> > _______________________________________________ >>>> > cfe-commits mailing list >>>> > cfe-comm...@cs.uiuc.edu >>>> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>> >>> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits