2013-10-12 Joseph Myers <joseph@codesourcery.com>
+ [BZ #16036]
+ * soft-fp/unorddf2.c (__unorddf2): Raise "invalid" exception for
+ signaling NaN arguments.
+ * soft-fp/unordsf2.c (__unordsf2): Likewise.
+ * soft-fp/unordtf2.c (__unordtf2): Likewise.
+
[BZ #14910]
* soft-fp/gedf2.c (__gedf2): Raise "invalid" exception for all
unordered operands.
15681, 15723, 15734, 15735, 15736, 15748, 15749, 15754, 15760, 15797,
15844, 15849, 15855, 15856, 15857, 15859, 15867, 15886, 15887, 15890,
15892, 15893, 15895, 15897, 15905, 15909, 15919, 15921, 15923, 15939,
- 15963, 15966, 15988, 16032, 16034.
+ 15963, 15966, 15988, 16032, 16034, 16036.
* CVE-2012-4412 The strcoll implementation caches indices and rules for
large collation sequences to optimize multiple passes. This cache
CMPtype __unorddf2(DFtype a, DFtype b)
{
+ FP_DECL_EX;
FP_DECL_D(A); FP_DECL_D(B);
CMPtype r;
+ FP_INIT_EXCEPTIONS;
FP_UNPACK_RAW_D(A, a);
FP_UNPACK_RAW_D(B, b);
FP_CMP_UNORD_D(r, A, B);
+ if (r && (FP_ISSIGNAN_D(A) || FP_ISSIGNAN_D(B)))
+ FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_HANDLE_EXCEPTIONS;
return r;
}