This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Implement C _FloatN, _FloatNx types [version 6]


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  <joseph@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
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]