On Mon, Sep 28, 2020 at 05:07:55PM -0400, Michael Meissner wrote:
> 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.

That seems preferrable to me.

        Jakub

Reply via email to