[Bug math/22410] New: [powerpc64le] iseqsig (long double, _Float128) broken on powerpc64le
gabriel at inconstante dot eti.br
sourceware-bugzilla@sourceware.org
Wed Nov 8 13:25:00 GMT 2017
https://sourceware.org/bugzilla/show_bug.cgi?id=22410
Bug ID: 22410
Summary: [powerpc64le] iseqsig (long double, _Float128) broken
on powerpc64le
Product: glibc
Version: 2.26
Status: NEW
Severity: normal
Priority: P2
Component: math
Assignee: unassigned at sourceware dot org
Reporter: gabriel at inconstante dot eti.br
CC: gabriel at inconstante dot eti.br
Target Milestone: ---
Target: powerpc64le-linux-gnu
The following test case gives the following error output when built with GCC 7
and GLIBC 2.26:
#define __STDC_WANT_IEC_60559_BFP_EXT__
#include <math.h>
int
main (void)
{
long double l = 1.0L;
_Float128 q = 2.0F128;
return iseqsig (l, q);
}
$ gcc -mfloat128 test.c -c
In file included from test.c:2:0:
test.c: In function ‘main’:
/tmp/glibc-2.26/usr/include/math.h:1148:39: error: __float128 and long double
cannot be used in the same expression
# define __MATH_EVAL_FMT2(x, y) ((x) + (y) + 0.0f)
^
/tmp/glibc-2.26/usr/include/math.h:508:17: note: in definition of macro
‘__MATH_TG’
_Generic ((TG_ARG), \
^~~~~~
/tmp/glibc-2.26/usr/include/math.h:1157:15: note: in expansion of macro
‘__MATH_EVAL_FMT2’
__MATH_TG (__MATH_EVAL_FMT2 (x, y), __iseqsig, ((x), (y)))
^~~~~~~~~~~~~~~~
test.c:10:10: note: in expansion of macro ‘iseqsig’
return iseqsig (l, q);
^~~~~~~
So, for a combination of long double and _Float128 as arguments to iseqsig
(hence to __MATH_EVAL_FMT2) the compiler for powerpc64le will throw this error
message.
Since the arguments to the comparison macros need not have the same type, it is
my understanding that the above use of iseqsig (in the test program) is valid.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list