mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-30 23:11:09 +08:00
Fix gcc.dg/torture/fp-int-convert.h for excess precision after PR c/87390.
As reported in <https://gcc.gnu.org/ml/gcc-patches/2018-09/msg01684.html>, some fp-int-convert tests fail after my fix for PR c/87390, in Arm / AArch64 configurations where _Float16 uses excess precision by default. The issue is comparisons of the results of a conversion by assignment (compile-time or run-time) from integer to floating-point with the original integer value; previously this would compare against an implicit compile-time conversion to the target type, but now, for C11 and later, it compares against an implicit compile-time conversion to a possibly wider evaluation format. This is fixed by adding casts to the test so that the comparison is with a value converted explicitly to the target type at compile time, without any use of a wider evaluation format. PR c/87390 * gcc.dg/torture/fp-int-convert.h (TEST_I_F_VAL): Convert integer values explicitly to target type for comparison. From-SVN: r264696
This commit is contained in:
parent
02469d3a1d
commit
5718d9d95f
@ -1,3 +1,9 @@
|
||||
2018-09-28 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
PR c/87390
|
||||
* gcc.dg/torture/fp-int-convert.h (TEST_I_F_VAL): Convert integer
|
||||
values explicitly to target type for comparison.
|
||||
|
||||
2018-09-28 Steve Ellcey <sellcey@cavium.com>
|
||||
|
||||
PR testsuite/87433
|
||||
|
@ -90,6 +90,7 @@ do { \
|
||||
if (ivin != (VAL) \
|
||||
|| ((PREC_OK) && ivout != ivin) \
|
||||
|| ((PREC_OK) && ivout != (VAL)) \
|
||||
|| fv1 != (VAL) || fv2 != (VAL) || fv1 != fv2) \
|
||||
|| fv1 != (FT) (VAL) || fv2 != (FT) (VAL) \
|
||||
|| fv1 != fv2) \
|
||||
abort (); \
|
||||
} while (0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user