This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH], Add weak references to bridge old/new PowerPC ieee 128-bit name mangling
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: Michael Meissner <meissner at linux dot ibm dot com>, Segher Boessenkool <segher at kernel dot crashing dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>, David Edelsohn <dje dot gcc at gmail dot com>, Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- Date: Tue, 5 Jun 2018 15:14:32 +0200
- Subject: Re: [PATCH], Add weak references to bridge old/new PowerPC ieee 128-bit name mangling
- References: <20180601232840.GA9648@ibm-toto.the-meissners.org> <20180604174642.GA17342@gate.crashing.org> <20180604220559.GA16652@ibm-toto.the-meissners.org> <CADzB+2=M1HJ+P8yC3Q7sM7wmV_dL3WY74=p-G-JXNTyZjmghwg@mail.gmail.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, Jun 05, 2018 at 03:01:23PM +0200, Jason Merrill wrote:
> > Now that we only have two types, you can't have explicit overloading of the
> > same type. You can have templates, because only one version of the template is
> > created for the two types.
>
> I thought that the two long double types would be __ibm128 and
> __ieee128, and __float128 would be a third type, to satisfy the
> _Float128 requirement that it be distinct from long double. Or are
> you thinking that _Float128 will be different from __float128?
Why not? I think __float128 is most useful just as an alias to whatever
type provides the IEEE quad semantics, it is a distinct type on x86_64/i686
just because no other C++ type on the target is IEEE quad, e.g. on hppa-hpux
I think __float128 is just defined to long double as macro.
And, even on x86_64/i686, __float80 mangles the same as long double, both
mangle as "e", they aren't considered distinct types.
If we need the C separate _FloatNN types in C++, they can mangle the way we
(and others) agree on. Would _Float64 be distinct from double and thus
mangle differently from "d"?
Jakub