The testcase was already tweaked for Glibc but it needs to be further tweaked
because of bugs in Solaris' libm. With the attached patch the test now passes
on my SPARC/Solaris 10 and my x86/Solaris 10 test machines.
OK for the mainline?
2015-12-14 Eric Botcazou <ebotca...@adacore.com>
* gcc.dg/torture/pr68264.c: Tweak for Solaris.
--
Eric Botcazou
Index: gcc.dg/torture/pr68264.c
===================================================================
--- gcc.dg/torture/pr68264.c (revision 231605)
+++ gcc.dg/torture/pr68264.c (working copy)
@@ -68,14 +68,24 @@ test (void)
TEST (cosh (d), LARGE_ERANGE);
TEST (sinh (d), LARGE_ERANGE);
TEST (log (d), LARGE_NEG_EDOM);
- TEST (log2 (d), LARGE_NEG_EDOM);
+#if defined (__sun__) && defined (__unix__)
+ /* Disabled due to a bug in Solaris libm. */
+ if (0)
+#endif
+ TEST (log2 (d), LARGE_NEG_EDOM);
TEST (log10 (d), LARGE_NEG_EDOM);
/* Disabled due to glibc PR 6792, fixed in Apr 2015. */
if (0)
TEST (log1p (d), LARGE_NEG_EDOM);
TEST (exp (d), POWER_ERANGE);
- TEST (exp2 (d), POWER_ERANGE);
- TEST (expm1 (d), POWER_ERANGE);
+#if defined (__sun__) && defined (__unix__)
+ /* Disabled due to a bug in Solaris libm. */
+ if (0)
+#endif
+ {
+ TEST (exp2 (d), POWER_ERANGE);
+ TEST (expm1 (d), POWER_ERANGE);
+ }
TEST (sqrt (d), LARGE_NEG_EDOM);
TEST (pow (100.0, d), POWER_ERANGE);
TEST (pow (i, d), POWER_ERANGE);