chew.c printf of intptr_t
Alan Modra
amodra@gmail.com
Tue Feb 28 00:37:59 GMT 2023
Seen when building binutils with gcc -m32 on x86_64-linux.
chew.c: In function ‘print’:
chew.c:1434:59: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘intptr_t’ {aka ‘int’} [-Wformat=]
1434 | fprintf (stderr, "print: illegal print destination `%ld'\n", *isp);
| ~~^ ~~~~
| | |
| | intptr_t {aka int}
| long int
| %d
* chew.c: Include inttypes.h.
(print): Use PRIdPTR for *isp.
diff --git a/bfd/doc/chew.c b/bfd/doc/chew.c
index e8478969d64..5257bf42361 100644
--- a/bfd/doc/chew.c
+++ b/bfd/doc/chew.c
@@ -91,6 +91,7 @@
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
+#include <inttypes.h>
#define DEF_SIZE 5000
#define STACK 50
@@ -1431,7 +1432,7 @@ print (void)
else if (*isp == 2)
write_buffer (tos, stderr);
else
- fprintf (stderr, "print: illegal print destination `%ld'\n", *isp);
+ fprintf (stderr, "print: illegal print destination `%" PRIdPTR "'\n", *isp);
isp--;
tos--;
icheck_range ();
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list