[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