diff mbox series

[v3] math/test-tgmath2: Fix fabs failure when no long double

Message ID 20210114002558.2827978-1-shorne@gmail.com
State Committed
Commit cc528f9a7e51f769ea79a9c413af417671bcc695
Headers show
Series [v3] math/test-tgmath2: Fix fabs failure when no long double | expand

Commit Message

Stafford Horne Jan. 14, 2021, 12:25 a.m. UTC
I have been testing with GCC trunk and GLIBC master while working on the
OpenRISC port.  This test has been failing with fabs not being called,
This is caused as my architecture is configure with no long double
meaning the two calls are the same:

  TEST (fabs (Vdouble1), double, fabs);
  TEST (fabs (Vldouble1), ldouble, fabs);

Instead of the tgmath calls resolving to fabs and fabsl both calls are
fabs.  Next, do to compiler optimiations the second call is eliminated.
Fix this by invoking the failing TEST with Vldouble2.

Note, I also updated the FAIL message to more clearly show where the
failure happened, so I see:

  FAIL: math/test-tgmath2
  original exit status 1
  wrong function called, fabs (ldouble) failure on line 174

Cc: Joseph Myers <joseph@codesourcery.com>
---
Thanks Joseph for reviewing.  Shall I commit?  I may have access, but
I don't think I have been blessed to do so yet.

Since v2:
 - Fixed typo with missing hyphen in subject line
Since v1:
 - Rewrote patch to just change double value

 math/test-tgmath2.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Joseph Myers Jan. 14, 2021, 5:49 p.m. UTC | #1
On Thu, 14 Jan 2021, Stafford Horne via Libc-alpha wrote:

> Thanks Joseph for reviewing.  Shall I commit?  I may have access, but
> I don't think I have been blessed to do so yet.

Overseers, please add shorne to the glibc group.  Once that's done, yes, 
please commit and push your own approved patch.
Frank Ch. Eigler Jan. 14, 2021, 6:52 p.m. UTC | #2
Hi -

> Overseers, please add shorne to the glibc group.  Once that's done, yes, 
> please commit and push your own approved patch.

Done.

- FChE
diff mbox series

Patch

diff --git a/math/test-tgmath2.c b/math/test-tgmath2.c
index 14a3453169..b8fb00c566 100644
--- a/math/test-tgmath2.c
+++ b/math/test-tgmath2.c
@@ -122,7 +122,7 @@  int counts[Tlast][C_last];
       __asm __volatile ("" : : "r" (&texpr));			\
       if (count != 1 || counts[T##type][C_##fn] != 1)		\
 	{							\
-	  FAIL ("wrong function called");			\
+	  FAIL ("wrong function called, "#fn" ("#type")");	\
 	  memset (counts, 0, sizeof (counts));			\
 	}							\
       count = 0;						\
@@ -171,7 +171,7 @@  test_fabs (const int Vint4, const long long int Vllong4)
   TEST (fabs (vcldouble1), ldouble, cabs);
   TEST (fabs (Vfloat1), float, fabs);
   TEST (fabs (Vdouble1), double, fabs);
-  TEST (fabs (Vldouble1), ldouble, fabs);
+  TEST (fabs (Vldouble2), ldouble, fabs);
 #ifndef __OPTIMIZE__
   /* GCC is too smart to optimize these out.  */
   TEST (fabs (Vint1), double, fabs);