r266186 - Enable support for __float128 in Clang

Nemanja Ivanovic via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 15 11:01:26 PDT 2016


It was not supported before but there was a workaround in Clang. As far as
I recall, it basically "secretly" provided a typedef for __float128
(presumably to long double on most targets). This workaround was in place
precisely to allow these headers to compile.

On Fri, Apr 15, 2016 at 7:58 PM, James Y Knight <jyknight at google.com> wrote:

> I'm confused: why does it break targets if __float128 wasn't supported
> before, and still isn't supported?
>
> Surely enabling float128 support on some targets, and leaving it disabled
> on linux/x86 shouldn't actually *break* linux/x86?
>
> On Fri, Apr 15, 2016 at 11:53 AM, Nemanja Ivanovic via cfe-commits <
> cfe-commits at lists.llvm.org> wrote:
>
>> I have just pinged the patch to see if I can get it approved today. Can I
>> give it a few hours and if it isn't approved by tonight, I'll revert the
>> other patch?
>>
>> BTW. a temporary workaround for this issue if absolutely required in the
>> next few hours is to comment out the following define in bits/config.h:
>>
>> /* Define if __float128 is supported on this host. */
>> #define _GLIBCXX_USE_FLOAT128 1
>>
>>
>> On Fri, Apr 15, 2016 at 4:14 PM, Nico Weber <thakis at chromium.org> wrote:
>>
>>> On Fri, Apr 15, 2016 at 12:27 AM, Hal Finkel <hfinkel at anl.gov> wrote:
>>>
>>>> ----- Original Message -----
>>>> > From: "Hans Wennborg via cfe-commits" <cfe-commits at lists.llvm.org>
>>>> > To: "Nemanja Ivanovic" <nemanja.i.ibm at gmail.com>, "Nico Weber" <
>>>> thakis at chromium.org>
>>>> > Cc: "cfe-commits" <cfe-commits at lists.llvm.org>
>>>> > Sent: Thursday, April 14, 2016 8:07:58 PM
>>>> > Subject: Re: r266186 - Enable support for __float128 in Clang
>>>> >
>>>> > On Wed, Apr 13, 2016 at 2:49 AM, Nemanja Ivanovic via cfe-commits
>>>> > <cfe-commits at lists.llvm.org> wrote:
>>>> > > Author: nemanjai
>>>> > > Date: Wed Apr 13 04:49:45 2016
>>>> > > New Revision: 266186
>>>> > >
>>>> > > URL: http://llvm.org/viewvc/llvm-project?rev=266186&view=rev
>>>> > > Log:
>>>> > > Enable support for __float128 in Clang
>>>> > >
>>>> > > This patch corresponds to review:
>>>> > > http://reviews.llvm.org/D15120
>>>> > >
>>>> > > It adds support for the __float128 keyword, literals and a target
>>>> > > feature to
>>>> > > enable it. This support is disabled by default on all targets and
>>>> > > any target
>>>> > > that has support for this type is free to add it.
>>>> > >
>>>> > > Based on feedback that I've received from target maintainers, this
>>>> > > appears to
>>>> > > be the right thing for most targets. I have not heard from the
>>>> > > maintainers of
>>>> > > X86 which I believe supports this type. I will subsequently
>>>> > > investigate the
>>>> > > impact of enabling this on X86.
>>>> >
>>>> > We're seeing build errors when targeting Android, which I think may
>>>> > be
>>>> > caused by this:
>>>> >
>>>> > [...]
>>>> > In file included from ../../v8/src/base/functional.cc:11:
>>>> > In file included from ../../v8/src/base/functional.h:13:
>>>> > In file included from
>>>> >
>>>> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/functional:55:
>>>> > In file included from
>>>> >
>>>> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/tuple:38:
>>>> > In file included from
>>>> >
>>>> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/utility:70:
>>>> > In file included from
>>>> >
>>>> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_pair.h:59:
>>>> > In file included from
>>>> >
>>>> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/move.h:57:
>>>> >
>>>> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/type_traits:269:39:
>>>> > error: __float128 is not supported on this target
>>>> >     struct __is_floating_point_helper<__float128>
>>>> >                                       ^
>>>> >
>>>> > (From
>>>> >
>>>> https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/54128/steps/compile%20%28with%20patch%29/logs/stdio
>>>> )
>>>> >
>>>> > Any idea what might be breaking here?
>>>>
>>>> Yep, see: http://reviews.llvm.org/D19125
>>>
>>>
>>> Since this is breaking real-world code, is it possible to revert this
>>> until http://reviews.llvm.org/D19125 is ready?
>>>
>>>
>>>>
>>>>
>>>>  -Hal
>>>>
>>>> >
>>>> > Thanks,
>>>> > Hans
>>>> > _______________________________________________
>>>> > cfe-commits mailing list
>>>> > cfe-commits at lists.llvm.org
>>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>>> >
>>>>
>>>> --
>>>> Hal Finkel
>>>> Assistant Computational Scientist
>>>> Leadership Computing Facility
>>>> Argonne National Laboratory
>>>>
>>>
>>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160415/34357548/attachment-0001.html>


More information about the cfe-commits mailing list