* tests/test-strtof.h (test_function): Add another overflow test.
* tests/test-strtod.h (test_function): Likewise.
* tests/test-strtold.h (test_function): Likewise.
+2024-07-23 Bruno Haible <bruno@clisp.org>
+
+ strtof, strtod, strtold tests: Strengthen tests.
+ * tests/test-strtof.h (test_function): Add another overflow test.
+ * tests/test-strtod.h (test_function): Likewise.
+ * tests/test-strtold.h (test_function): Likewise.
+
2024-07-23 Bruno Haible <bruno@clisp.org>
strtold: Revisit underflow behaviour.
}
/* Overflow. */
+ {
+ const char input[] = "1e500";
+ char *ptr;
+ double result;
+ errno = 0;
+ result = my_strtod (input, &ptr);
+ ASSERT (result == HUGE_VAL);
+ ASSERT (ptr == input + 5); /* OSF/1 5.1 */
+ ASSERT (errno == ERANGE);
+ }
{
const char input[] = "1E1000000";
char *ptr;
}
/* Overflow. */
+ {
+ const char input[] = "1e50";
+ char *ptr;
+ float result;
+ errno = 0;
+ result = my_strtof (input, &ptr);
+ ASSERT (result == HUGE_VAL);
+ ASSERT (ptr == input + 4); /* OSF/1 5.1 */
+ ASSERT (errno == ERANGE);
+ }
{
const char input[] = "1E1000000";
char *ptr;
}
/* Overflow. */
+ {
+ const char input[] = "1e6000";
+ char *ptr;
+ long double result;
+ errno = 0;
+ result = my_strtold (input, &ptr);
+ ASSERT (result == HUGE_VALL);
+ ASSERT (ptr == input + 6);
+ ASSERT (errno == ERANGE);
+ }
{
const char input[] = "1E1000000";
char *ptr;