On Mon, Sep 28, 2020 at 04:38:51PM +0000, Joseph Myers wrote:
> On Thu, 24 Sep 2020, Michael Meissner wrote:
> 
> > As per the discussion in this thread, I did decide to keep things to two 
> > types
> > within the compiler.  This means that an explicit __float128 or _Float128 
> > will
> > use the same type node and TFmode as long double uses if the default for 
> > long
> > double is IEEE 128-bit.
> 
> I'm not sure which patch in the series is supposed to be implementing 
> that, but C requires that long double and _Float128 are distinct types (so 
> you can use _Generic to choose between them, for example) even if they 
> have the same ABI.

Hmmm, but others said that it would complicate things if __float128 were
different than long double.  I've implemented it both ways (I would have to dig
up the patches to have separate types).

And doing so might break all of the glibc efforts to provide dual symbols.

I could obviously use __float128 to be the same as long double, and _Float128
being a unique type if long double is IEEE.  And since C++ doesn't have
_Float128, it would 'work' without introducing a new mangling name.

I don't think there is a solution that doesn't break something.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meiss...@linux.ibm.com, phone: +1 (978) 899-4797

Reply via email to