This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] powerpc: Fix the compiler mode used with C++ when -mabi=ieeelongdouble
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Tulio Magno Quites Machado Filho <tuliom at linux dot ibm dot com>
- Cc: <libc-alpha at sourceware dot org>, <meissner at linux dot ibm dot com>
- Date: Fri, 27 Apr 2018 19:32:26 +0000
- Subject: Re: [PATCH] powerpc: Fix the compiler mode used with C++ when -mabi=ieeelongdouble
- References: <20180427171150.28010-1-tuliom@linux.ibm.com>
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