On Wed, Sep 09, 2020 at 12:32:22PM -0500, Segher Boessenkool wrote:
> On Wed, Sep 09, 2020 at 07:06:41PM +0200, Thomas Koenig wrote:
> > Am 09.09.20 um 17:36 schrieb Segher Boessenkool:
> > >You can use both __ibm128 and __ieee128 in one program, so it isn't an
> > >ABI change.  Only the default of what "long double" means changes.  And
> > >we have been there before, there is the "e" mangling as well...
> > 
> > For Fortran, it is an ABI change unless we define an additional KIND
> > number for __ieee128.
> 
> Yes, Fortran has existing problems here (now *already*).

Well, the Fortran kind case is the same thing as the change of the meaning
of long double from __ibm128 to __ieee128.
Neither C nor Fortran has special mangling for that, so for those languages
it is a real ABI change, for C++ it is an ABI change too, but one that can
be dealt for selected libraries through mangling and compiling stuff that
refers to long double twice (e.g. libstdc++).  For glibc I guess it can be
dealt with using asm redirects of the math functions.

        Jakub

Reply via email to