On Tue, Jun 05, 2018 at 04:08:13PM +0000, Joseph Myers wrote: > On Tue, 5 Jun 2018, Jakub Jelinek wrote: > > > 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"? > > Right now it (as accessed via __typeof on built-in functions since the > _FloatN keywords and constant suffixes don't exist in C++) is different > and results in an ICE (bug 85518). Either it needs to be the same as > double for C++ (on all architectures, and similarly for _Float32x and all > the other _FloatN / _FloatNx types with the same format as a standard > type; and similarly for the _Float64x, _Float128 pair when both are > distinct from long double, and currently both are distinct from each other > as well), or else appropriate mangling, presumably DF<number>_, is needed > for those types (and the ABI would need extending upstream to cover the > _FloatNx types as well in that case).
Or guard the builtins on C/ObjC and not C++/ObjC++, e.g. by tweaking DEF_FLOATN_BUILTIN define somehow. Jakub