kstrto*: converting strings to integers done (hopefully) right
A message that is not in the archive (sent off-list or not yet received): [email protected]
lib/test-kstrtox.c
Quoted 2 lines · Linux Kernel Mailing List
lib/test-kstrtox.c new file +0
-0
On 32-bit m68k:
lib/test-kstrtox.c: In function ‘test_kstrtou64_ok’:lib/test-kstrtox.c:318: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:319: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:320: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:321: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:322: warning: integer constant is too large for ‘long’ type lib/test-kstrtox.c:323: warning: integer constant is too large for ‘long’ type lib/test-kstrtox.c: In function ‘test_kstrtos64_ok’:lib/test-kstrtox.c:372: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:373: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:374: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:375: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:376: warning: integer constant is too large for ‘long’ type lib/test-kstrtox.c:377: warning: integer constant is too large for ‘long’ type lib/test-kstrtox.c: In function ‘test_kstrtou32_ok’:lib/test-kstrtox.c:421: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:422: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:423: warning: this decimal constant is unsigned only in ISO C90lib/test-kstrtox.c:424: warning: this decimal constant is unsigned only in ISO C90
Probably you need a few more U/ULL suffixes.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
PATCH 1/1 kstrtox: fix compile warnings in test
Fix the following warnings:
CC [M] lib/test-kstrtox.olib/test-kstrtox.c: In function 'test_kstrtou64_ok':lib/test-kstrtox.c:318: warning: this decimal constant is unsigned only in ISO C90
...
Noticed by Geert Uytterhoeven <[email protected]>
---
lib/test-kstrtox.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-)
lib/test-kstrtox.c +16 -16
@@ -315,12 +315,12 @@ static void __init test_kstrtou64_ok(void) {"65537", 10, 65537}, {"2147483646", 10, 2147483646}, {"2147483647", 10, 2147483647}, - {"2147483648", 10, 2147483648}, - {"2147483649", 10, 2147483649}, - {"4294967294", 10, 4294967294}, - {"4294967295", 10, 4294967295}, - {"4294967296", 10, 4294967296}, - {"4294967297", 10, 4294967297}, + {"2147483648", 10, 2147483648ULL}, + {"2147483649", 10, 2147483649ULL}, + {"4294967294", 10, 4294967294ULL}, + {"4294967295", 10, 4294967295ULL}, + {"4294967296", 10, 4294967296ULL}, + {"4294967297", 10, 4294967297ULL}, {"9223372036854775806", 10, 9223372036854775806ULL}, {"9223372036854775807", 10, 9223372036854775807ULL}, {"9223372036854775808", 10, 9223372036854775808ULL},
@@ -369,12 +369,12 @@ static void __init test_kstrtos64_ok(void) {"65537", 10, 65537}, {"2147483646", 10, 2147483646}, {"2147483647", 10, 2147483647}, - {"2147483648", 10, 2147483648}, - {"2147483649", 10, 2147483649}, - {"4294967294", 10, 4294967294}, - {"4294967295", 10, 4294967295}, - {"4294967296", 10, 4294967296}, - {"4294967297", 10, 4294967297}, + {"2147483648", 10, 2147483648LL}, + {"2147483649", 10, 2147483649LL}, + {"4294967294", 10, 4294967294LL}, + {"4294967295", 10, 4294967295LL}, + {"4294967296", 10, 4294967296LL}, + {"4294967297", 10, 4294967297LL}, {"9223372036854775806", 10, 9223372036854775806LL}, {"9223372036854775807", 10, 9223372036854775807LL}, };
@@ -418,10 +418,10 @@ static void __init test_kstrtou32_ok(void) {"65537", 10, 65537}, {"2147483646", 10, 2147483646}, {"2147483647", 10, 2147483647}, - {"2147483648", 10, 2147483648}, - {"2147483649", 10, 2147483649}, - {"4294967294", 10, 4294967294}, - {"4294967295", 10, 4294967295}, + {"2147483648", 10, 2147483648U}, + {"2147483649", 10, 2147483649U}, + {"4294967294", 10, 4294967294U}, + {"4294967295", 10, 4294967295U}, };TEST_OK (kstrtou32, u32,"%u" , test_u32_ok); }
Re: [PATCH] kstrtox: fix compile warnings in test
Quoted 10 lines · Alexey Dobriyan
Fix the following warnings:
CC [M] lib/test-kstrtox.o
lib/test-kstrtox.c: In function 'test_kstrtou64_ok':lib/test-kstrtox.c:318: warning: this decimal constant is unsigned only in ISO C90
...Noticed by Geert Uytterhoeven <[email protected]>
Signed-off-by Alexey Dobriyan <[email protected]>
Quoted 50 lines
---
lib/test-kstrtox.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)lib/test-kstrtox.c +12
-13@@ -315,12 +315,12 @@ static void __init test_kstrtou64_ok(void) {"65537", 10, 65537}, {"2147483646", 10, 2147483646}, {"2147483647", 10, 2147483647}, - {"2147483648", 10, 2147483648}, - {"2147483649", 10, 2147483649}, - {"4294967294", 10, 4294967294}, - {"4294967295", 10, 4294967295}, - {"4294967296", 10, 4294967296}, - {"4294967297", 10, 4294967297}, + {"2147483648", 10, 2147483648ULL}, + {"2147483649", 10, 2147483649ULL}, + {"4294967294", 10, 4294967294ULL}, + {"4294967295", 10, 4294967295ULL}, + {"4294967296", 10, 4294967296ULL}, + {"4294967297", 10, 4294967297ULL}, {"9223372036854775806", 10, 9223372036854775806ULL}, {"9223372036854775807", 10, 9223372036854775807ULL}, {"9223372036854775808", 10, 9223372036854775808ULL},@@ -369,12 +369,12 @@ static void __init test_kstrtos64_ok(void) {"65537", 10, 65537}, {"2147483646", 10, 2147483646}, {"2147483647", 10, 2147483647}, - {"2147483648", 10, 2147483648}, - {"2147483649", 10, 2147483649}, - {"4294967294", 10, 4294967294}, - {"4294967295", 10, 4294967295}, - {"4294967296", 10, 4294967296}, - {"4294967297", 10, 4294967297}, + {"2147483648", 10, 2147483648LL}, + {"2147483649", 10, 2147483649LL}, + {"4294967294", 10, 4294967294LL}, + {"4294967295", 10, 4294967295LL}, + {"4294967296", 10, 4294967296LL}, + {"4294967297", 10, 4294967297LL}, {"9223372036854775806", 10, 9223372036854775806LL}, {"9223372036854775807", 10, 9223372036854775807LL}, };@@ -418,10 +418,10 @@ static void __init test_kstrtou32_ok(void) {"65537", 10, 65537}, {"2147483646", 10, 2147483646}, {"2147483647", 10, 2147483647}, - {"2147483648", 10, 2147483648},
lib/test-kstrtox.c static void __init test_kstrtou32_ok(void) · line 427
Quoted 10 lines
lib/test-kstrtox.c +4
-3- {"2147483649", 10, 2147483649}, - {"4294967294", 10, 4294967294}, - {"4294967295", 10, 4294967295}, + {"2147483648", 10, 2147483648U}, + {"2147483649", 10, 2147483649U}, + {"4294967294", 10, 4294967294U}, + {"4294967295", 10, 4294967295U}, }; TEST_OK(kstrtou32, u32, "%u", test_u32_ok); }
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds ���{.n�+�������+%�����ݶ��w��{.n�+����{��G�����{ay�ʇڙ�,j��f���h��������z_�(�階�ݢj"���m������G������?����&���~��iO��z��v�^�m����������?�I�