This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Adding __float128 (i.e TS 18661-3)
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: Joseph Myers <joseph at codesourcery dot com>, "Paul E. Murphy" <murphyp at linux dot vnet dot ibm dot com>
- Cc: <nd at arm dot com>, "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>, Steve Munroe <sjmunroe at us dot ibm dot com>, Tulio Magno Quites Machado Filho <tuliom at linux dot vnet dot ibm dot com>
- Date: Mon, 9 May 2016 15:37:40 +0100
- Subject: Re: Adding __float128 (i.e TS 18661-3)
- Authentication-results: sourceware.org; auth=none
- Nodisclaimer: True
- References: <572BB6DF dot 7090709 at linux dot vnet dot ibm dot com> <alpine dot DEB dot 2 dot 20 dot 1605052236310 dot 24016 at digraph dot polyomino dot org dot uk> <572CD397 dot 2090405 at linux dot vnet dot ibm dot com> <alpine dot DEB dot 2 dot 20 dot 1605062118090 dot 15027 at digraph dot polyomino dot org dot uk>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:23
On 06/05/16 23:03, Joseph Myers wrote:
> On Fri, 6 May 2016, Paul E. Murphy wrote:
>> Likewise, should these also expose appropriate *_finite symbols too? Or,
>> is such even permissible under this standard?
>
> __*_finite are in the implementation namespace. So it's always fine to
> have those aliases. *But* the principles of ABI minimization (keeping
> down the number of shared library exports) mean that if float128 and long
> double functions alias each other (on existing platforms where long double
> is binary128), those functions should not have two sets of aliases
is it acceptable to alias functions with incompatible types?
> __*l_finite and __*f128_finite. The design for math-finite.h needs to
> allow for that. (For normal public functions, if we add *f128 API support
> when it's the same format as long double - and I think we should, just
> like *f32 *f64 *f32x *f64x variants as applicable - then ISO C rules about
i assume gcc does not yet support _Float32 and _Float64
and *f32 and *f64 will only be added once there is support
for them.
> when you can declare a function yourself mean that most functions
> unavoidably do need duplicate shared library exports.)
>