[U-Boot] [PATCH] common: fix compiler warning on wrong printf format

bounce_buffer->len_aligned is of type "size_t", but on some arches/compilers "size_t" might be an alias to whether "int", "long" or their "signed/unsigned" flavors.
So to make compiler happy we explicitly cast to "int" which is expected in printf for "%d" format.
this fixes following warning: --->--- common/bouncebuf.c: In function ‘addr_aligned’: common/bouncebuf.c:26:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘size_t’ [-Wformat=] debug("Unaligned buffer length %d\n", /*(int)*/state->len); ^ --->---
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Vasili Galka vvv444@gmail.com Cc: Tom Rini trini@ti.com --- common/bouncebuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/bouncebuf.c b/common/bouncebuf.c index 9eece6d..0828d4b 100644 --- a/common/bouncebuf.c +++ b/common/bouncebuf.c @@ -23,7 +23,7 @@ static int addr_aligned(struct bounce_buffer *state)
/* Check if length is aligned */ if (state->len != state->len_aligned) { - debug("Unaligned buffer length %d\n", state->len); + debug("Unaligned buffer length %d\n", (int)state->len); return 0; }

On Wed, Aug 27, 2014 at 2:02 AM, Alexey Brodkin Alexey.Brodkin@synopsys.com wrote:
bounce_buffer->len_aligned is of type "size_t", but on some arches/compilers "size_t" might be an alias to whether "int", "long" or their "signed/unsigned" flavors.
So to make compiler happy we explicitly cast to "int" which is expected in printf for "%d" format.
this fixes following warning: --->--- common/bouncebuf.c: In function ‘addr_aligned’: common/bouncebuf.c:26:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘size_t’ [-Wformat=] debug("Unaligned buffer length %d\n", /*(int)*/state->len); ^ --->---
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Vasili Galka vvv444@gmail.com Cc: Tom Rini trini@ti.com
common/bouncebuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/bouncebuf.c b/common/bouncebuf.c index 9eece6d..0828d4b 100644 --- a/common/bouncebuf.c +++ b/common/bouncebuf.c @@ -23,7 +23,7 @@ static int addr_aligned(struct bounce_buffer *state)
/* Check if length is aligned */ if (state->len != state->len_aligned) {
debug("Unaligned buffer length %d\n", state->len);
debug("Unaligned buffer length %d\n", (int)state->len);
Another way of fixing this would be to use %zu or %zd instead of %d. Although that is a C99 addition so I'm not sure how much people care about really old compilers.
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf section 7.19.6.1 if anyone really cares.
return 0; }
-- 1.9.3
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Wed, Aug 27, 2014 at 10:27:19AM +1200, Chris Packham wrote:
On Wed, Aug 27, 2014 at 2:02 AM, Alexey Brodkin Alexey.Brodkin@synopsys.com wrote:
bounce_buffer->len_aligned is of type "size_t", but on some arches/compilers "size_t" might be an alias to whether "int", "long" or their "signed/unsigned" flavors.
So to make compiler happy we explicitly cast to "int" which is expected in printf for "%d" format.
this fixes following warning: --->--- common/bouncebuf.c: In function ‘addr_aligned’: common/bouncebuf.c:26:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘size_t’ [-Wformat=] debug("Unaligned buffer length %d\n", /*(int)*/state->len); ^ --->---
Signed-off-by: Alexey Brodkin abrodkin@synopsys.com Cc: Vasili Galka vvv444@gmail.com Cc: Tom Rini trini@ti.com
common/bouncebuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/bouncebuf.c b/common/bouncebuf.c index 9eece6d..0828d4b 100644 --- a/common/bouncebuf.c +++ b/common/bouncebuf.c @@ -23,7 +23,7 @@ static int addr_aligned(struct bounce_buffer *state)
/* Check if length is aligned */ if (state->len != state->len_aligned) {
debug("Unaligned buffer length %d\n", state->len);
debug("Unaligned buffer length %d\n", (int)state->len);
Another way of fixing this would be to use %zu or %zd instead of %d. Although that is a C99 addition so I'm not sure how much people care about really old compilers.
And %zd has other usages in the codebase so please use that, thanks.
participants (3)
-
Alexey Brodkin
-
Chris Packham
-
Tom Rini