This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: Implement C _FloatN, _FloatNx types [version 6]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Matthew Wahab <matthew dot wahab at foss dot arm dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>, <fortran at gcc dot gnu dot org>
- Date: Mon, 22 Aug 2016 11:48:26 +0000
- Subject: Re: Implement C _FloatN, _FloatNx types [version 6]
- Authentication-results: sourceware.org; auth=none
- References: <alpine.DEB.2.20.1606211202040.4526@digraph.polyomino.org.uk> <alpine.DEB.2.20.1606211738200.31330@digraph.polyomino.org.uk> <alpine.DEB.2.20.1606231418120.21240@digraph.polyomino.org.uk> <alpine.DEB.2.20.1606271720270.7438@digraph.polyomino.org.uk> <alpine.DEB.2.20.1607191347340.9265@digraph.polyomino.org.uk> <alpine.DEB.2.20.1607222158330.22448@digraph.polyomino.org.uk> <20160817154244.GA39270@arm.com> <alpine.DEB.2.20.1608171641000.7156@digraph.polyomino.org.uk> <alpine.DEB.2.20.1608172015080.27199@digraph.polyomino.org.uk> <57BAD856.1020206@foss.arm.com>
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