This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH], Add weak references to bridge old/new PowerPC ieee 128-bit name mangling


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]