On Mon, 22 Aug 2016, Matthew Wahab wrote:

> > +  TEST_I_F(TItype, UTItype, _Float32, FLT32X_MANT_DIG, FLT32X_MAX_EXP);
> > +  exit (0);
> > +
> 
> This test fails with an abort at runtime. The other float32x tests pass.

That should be fixed by the commit I made to fix the issue pointed out by 
Andreas.

> This change makes gcc.dg/torture/arm-fp16-int-convert-{alt,ieee].c fail 
> because they still pass four arguments to the macro, not five.

I've applied this patch that should fix this.

Update TEST_I_F calls in ARM fp-int-convert tests.

gcc/testsuite:
2016-08-22  Joseph Myers  <jos...@codesourcery.com>

        * gcc.dg/torture/arm-fp16-int-convert-alt.c (FP16_MAX_EXP): New
        macro.
        (main): Update calls to TEST_I_F.
        * gcc.dg/torture/arm-fp16-int-convert-ieee.c (FP16_MAX_EXP): New
        macro.
        (main): Update calls to TEST_I_F.

Index: gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-alt.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-alt.c     (revision 
239655)
+++ gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-alt.c     (working copy)
@@ -4,14 +4,15 @@
 
 #include "fp-int-convert.h"
 #define FP16_MANT_DIG 11
+#define FP16_MAX_EXP 17
 
 int
 main (void)
 {
-  TEST_I_F(signed char, unsigned char, float, FP16_MANT_DIG);
-  TEST_I_F(signed short, unsigned short, float, FP16_MANT_DIG);
-  TEST_I_F(signed int, unsigned int, float, FP16_MANT_DIG);
-  TEST_I_F(signed long, unsigned long, float, FP16_MANT_DIG);
-  TEST_I_F(signed long long, unsigned long long, float, FP16_MANT_DIG);
+  TEST_I_F(signed char, unsigned char, float, FP16_MANT_DIG, FP16_MAX_EXP);
+  TEST_I_F(signed short, unsigned short, float, FP16_MANT_DIG, FP16_MAX_EXP);
+  TEST_I_F(signed int, unsigned int, float, FP16_MANT_DIG, FP16_MAX_EXP);
+  TEST_I_F(signed long, unsigned long, float, FP16_MANT_DIG, FP16_MAX_EXP);
+  TEST_I_F(signed long long, unsigned long long, float, FP16_MANT_DIG, 
FP16_MAX_EXP);
   exit (0);
 }
Index: gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-ieee.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-ieee.c    (revision 
239655)
+++ gcc/testsuite/gcc.dg/torture/arm-fp16-int-convert-ieee.c    (working copy)
@@ -4,14 +4,15 @@
 
 #include "fp-int-convert.h"
 #define FP16_MANT_DIG 11
+#define FP16_MAX_EXP 16
 
 int
 main (void)
 {
-  TEST_I_F(signed char, unsigned char, float, FP16_MANT_DIG);
-  TEST_I_F(signed short, unsigned short, float, FP16_MANT_DIG);
-  TEST_I_F(signed int, unsigned int, float, FP16_MANT_DIG);
-  TEST_I_F(signed long, unsigned long, float, FP16_MANT_DIG);
-  TEST_I_F(signed long long, unsigned long long, float, FP16_MANT_DIG);
+  TEST_I_F(signed char, unsigned char, float, FP16_MANT_DIG, FP16_MAX_EXP);
+  TEST_I_F(signed short, unsigned short, float, FP16_MANT_DIG, FP16_MAX_EXP);
+  TEST_I_F(signed int, unsigned int, float, FP16_MANT_DIG, FP16_MAX_EXP);
+  TEST_I_F(signed long, unsigned long, float, FP16_MANT_DIG, FP16_MAX_EXP);
+  TEST_I_F(signed long long, unsigned long long, float, FP16_MANT_DIG, 
FP16_MAX_EXP);
   exit (0);
 }

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to