Fix parameter type in C++ version of iseqsig (bug 23171)
authorGabriel F. T. Gomes <gabriel@inconstante.eti.br>
Mon, 14 May 2018 12:04:28 +0000 (09:04 -0300)
committerGabriel F. T. Gomes <gabriel@inconstante.eti.br>
Thu, 24 May 2018 16:12:39 +0000 (13:12 -0300)
The commit

  commit c85e54ac6cef0faed7b7ffc722f52523dec59bf5
  Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
  Date:   Fri Nov 3 10:44:36 2017 -0200

      Provide a C++ version of iseqsig (bug 22377)

mistakenly used double parameters in the long double version of iseqsig,
thus causing spurious conversions to double, as reported on bug 23171.

Tested for powerpc64le and x86_64.

ChangeLog
math/math.h

index e01136c..4111d74 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-05-24  Gabriel F. T. Gomes  <gabriel@inconstante.eti.br>
+
+       [BZ #23171]
+       * math/math.h [C++] (iseqsig): Fix parameter type for the long
+       double version.
+
 2018-05-23  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/sh/Implies: Remove sh/soft-fp.
index 8724033..ddee4e4 100644 (file)
@@ -1511,7 +1511,7 @@ template<> struct __iseqsig_type<double>
 
 template<> struct __iseqsig_type<long double>
 {
-  static int __call (double __x, double __y) throw ()
+  static int __call (long double __x, long double __y) throw ()
   {
 #  ifndef __NO_LONG_DOUBLE_MATH
     return __iseqsigl (__x, __y);