Skip to content

syscalls: avoid -Wformat warning#576

Open
xypron wants to merge 1 commit intoriscv-software-src:masterfrom
xypron:wformat
Open

syscalls: avoid -Wformat warning#576
xypron wants to merge 1 commit intoriscv-software-src:masterfrom
xypron:wformat

Conversation

@xypron
Copy link
Contributor

@xypron xypron commented Aug 9, 2024

For printing uintptr_t use %zd.

benchmarks/common/syscalls.c: In function ‘_init’:
benchmarks/common/syscalls.c:118:36: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘uintptr_t’ {aka ‘long unsigned int’} [-Wformat=]
  118 |       pbuf += sprintf(pbuf, "%s = %d\n", counter_names[i], counters[i]);
      |                                   ~^                       ~~~~~~~~~~~
      |                                    |                               |
      |                                    int                             uintptr_t {aka long unsigned int}
      |                                   %ld

@aswaterman
Copy link
Collaborator

z is for size_t. Don't you want something like "%s = %" PRIdPTR "\n"?

For printing uintptr_t use %lu.

    benchmarks/common/syscalls.c: In function ‘_init’:
    benchmarks/common/syscalls.c:118:36: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘uintptr_t’ {aka ‘long unsigned int’} [-Wformat=]
      118 |       pbuf += sprintf(pbuf, "%s = %d\n", counter_names[i], counters[i]);
          |                                   ~^                       ~~~~~~~~~~~
          |                                    |                               |
          |                                    int                             uintptr_t {aka long unsigned int}
          |                                   %ld

Signed-off-by: Heinrich Schuchardt <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants