This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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] powerpc: Fix the compiler mode used with C++ when -mabi=ieeelongdouble


On Fri, 27 Apr 2018, Tulio Magno Quites Machado Filho wrote:

> When compiling C++  code with -mabi=ieeelongdouble, KCtype is
> unavailable and TCtype should be used instead.

In that case (-mabi=ieeelongdouble), I'd expect you to use "typedef long 
double _Float128;" for C++, and _Complex long double as the definition of 
__CFLOAT128 for C++, and x##l as the definition of __f128 for C++, as it's 
essentially the case implemented by 
sysdeps/ieee754/ldbl-128/bits/floatn.h.  You shouldn't need to use mode 
attributes at all.

(Uses of __HAVE_DISTINCT_FLOAT128 and __HAVE_FLOAT64X_LONG_DOUBLE will 
need careful review to see if additional macros are needed to cover this 
-mabi=ieeelongdouble case, but the general rule is that they relate to the 
*default* long double type for that glibc binary - meaning the one with 
__*l symbols, as selection of such implementation-namespace one-per-format 
symbols is generally what they are used for in installed headers - meaning 
the existing definitions for powerpc remain correct even with 
-mabi=ieeelongdouble and you should not copy the 
sysdeps/ieee754/ldbl-128/bits/floatn.h definitions of those macros.)

-- 
Joseph S. Myers
joseph@codesourcery.com


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