http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47781
Summary: warnings from custom printf format specifiers
Product: gcc
Version: 4.4.5
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: c
AssignedTo: [email protected]
ReportedBy: [email protected]
Glibc allows a project to define custom printf conversions, via one of two
APIs: register_printf_function, and more recently, register_printf_specifier.
For instance, my project has a custom %v conversion, which takes a pointer to a
vector structure that is heavily used within the project, and pretty-prints it.
The problem is, every time the custom format conversion is used, gcc (which is
invoked with -Wall) generates warnings.
test.c:198: warning: unknown conversion type character āvā in format
test.c:198: warning: too many arguments for format
I can get rid of the warnings with -Wno-format, but that also disables the rest
of gcc's format string checking (which is very helpful!).
I'd like to request a finer grained means of control. A syntactical element
(builtin/pragma/attribute/whatever) to pre-declare a format conversion and the
typedef to check it against would be very nice, if complex. A much simpler
solution would be a -Wno-format-unknown-specifier option, which skips the
argument in the argument list and otherwise ignores conversions it doesn't
recognize.
Any solution along those lines would be very helpful.