[clang] [Sema] Fix missing warnings for unused args with invalid printf specs. (PR #158514)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 15 06:18:46 PDT 2025
lakreite wrote:
Thank you for the feedback. I think there's a bug, because...
With invalid conversion specifiers clang emits a warning:
```c
main.cpp:5:17: warning: invalid conversion specifier 'k' [-Wformat-invalid-specifier]
5 | printf("%d %k", 1, 1);
| ~^
main.cpp:5:24: warning: data argument not used by format string [-Wformat-extra-args]
5 | printf("%d %k", 1, 1);
| ~~~~~~~ ^
2 warnings generated.
```
With incomplete specifier not at the last position Clang emits a warning:
```c
main.cpp:5:15: warning: invalid conversion specifier ' ' [-Wformat-invalid-specifier]
5 | printf("%1 %d", 1, 1);
| ~~^
main.cpp:5:24: warning: data argument not used by format string [-Wformat-extra-args]
5 | printf("%1 %d", 1, 1);
| ~~~~~~~ ^
2 warnings generated.
```
So missing a warning looks strange:
```c
main.cpp:5:13: warning: incomplete format specifier [-Wformat]
5 | printf("%1", 1, 1, 1);
| ^~
1 warning generated.
```
https://github.com/llvm/llvm-project/pull/158514
More information about the cfe-commits
mailing list