Hello,
On 24 Oct 17:56, Yury Gribov wrote:
...
> +const struct test_data_t test_data[] = {
> +  { STRTOL,  "-0x80000000", 0, -0x80000000L,  0      },
...
> +      switch (test_data[i].fun)
> +     {
> +     case STRTOL:
> +       res = strtol (test_data[i].nptr, 0, test_data[i].base);
> +       break;
As far as we might have `long long int' on 32-bit, `res' will fail
to compare with corresponding `test_data[i].base'.

Tiny patch fixes it.

--
Thanks, K

diff --git a/libiberty/testsuite/test-strtol.c 
b/libiberty/testsuite/test-strtol.c
index 96d6871..6faf81b 100644
--- a/libiberty/testsuite/test-strtol.c
+++ b/libiberty/testsuite/test-strtol.c
@@ -132,7 +132,8 @@ run_tests (const struct test_data_t *test_data, size_t 
ntests)
       switch (test_data[i].fun)
        {
        case STRTOL:
-         res = strtol (test_data[i].nptr, 0, test_data[i].base);
+         res = (unsigned long) strtol (test_data[i].nptr,
+                                       0, test_data[i].base);
          break;
        case STRTOUL:
          res = strtoul (test_data[i].nptr, 0, test_data[i].base);

Reply via email to