+2019-12-12 Bruno Haible <bruno@clisp.org>
+
+ strtod, strtold tests: Avoid test failure on AIX 7.2.
+ * tests/test-strtod1.c (main): Allow implementations in which ',' and
+ '.' both are radix characters.
+ * tests/test-strtold1.c (main): Likewise.
+
2019-12-12 Paul Eggert <eggert@cs.ucla.edu>
dfa: prefer ptrdiff_t for API, too
double result;
errno = 0;
result = strtod (input, &ptr);
- ASSERT (result == 1.0);
- ASSERT (ptr == input + 1);
+ /* On AIX 7.2, in the French locale, '.' is recognized as an alternate
+ radix character. */
+ ASSERT ((ptr == input + 1 && result == 1.0)
+ || (ptr == input + 3 && result == 1.5));
ASSERT (errno == 0);
}
{
double result;
errno = 0;
result = strtod (input, &ptr);
- ASSERT (result == 123.0);
- ASSERT (ptr == input + 3);
+ /* On AIX 7.2, in the French locale, '.' is recognized as an alternate
+ radix character. */
+ ASSERT ((ptr == input + 3 && result == 123.0)
+ || (ptr == input + 7 && result > 123.45 && result < 123.46));
ASSERT (errno == 0);
}
{
long double result;
errno = 0;
result = strtold (input, &ptr);
- ASSERT (result == 1.0L);
- ASSERT (ptr == input + 1);
+ /* On AIX 7.2, in the French locale, '.' is recognized as an alternate
+ radix character. */
+ ASSERT ((ptr == input + 1 && result == 1.0L)
+ || (ptr == input + 3 && result == 1.5L));
ASSERT (errno == 0);
}
{
long double result;
errno = 0;
result = strtold (input, &ptr);
- ASSERT (result == 123.0L);
- ASSERT (ptr == input + 3);
+ /* On AIX 7.2, in the French locale, '.' is recognized as an alternate
+ radix character. */
+ ASSERT ((ptr == input + 3 && result == 123.0L)
+ || (ptr == input + 7 && result > 123.45L && result < 123.46L));
ASSERT (errno == 0);
}
{