CLANG reports an error with %b in printf(9)
Dimitry Andric
dim at FreeBSD.org
Tue Oct 1 19:41:57 UTC 2013
On Oct 1, 2013, at 21:30, Luigi Rizzo <rizzo at iet.unipi.it> wrote:
> This is on HEAD -- while compiling the kernel with CLANG and slightly
> higher warns level, i get errors of this kind (in multiple places):
>
> /usr/home/luigi/FreeBSD/head/sys/cam/cam_xpt.c:1069:27: error: invalid conversion specifier
> 'b' [-Werror,-Wformat-invalid-specifier]
> printf("%s%d: quirks=0x%b\n", periph->periph_name,
> ~^
> /usr/home/luigi/FreeBSD/head/sys/cam/cam_xpt.c:1070:36: error: data argument not used by
> format string [-Werror,-Wformat-extra-args]
> periph->unit_number, quirks, bit_string);
>
> Does anyone know how hard it is to either disable the warning locally
> (for a statement, function or file), or better to teach CLANG that
> printf(9) uses two arguments for %b ?
Hi Luigi,
It looks like you are overriding CWARNFLAGS? If you are using clang
from base, you can add -fformat-extensions, which has support for our
non-standard %b and %D specifiers. For clang from ports, there is no
solution except -Wno-format. See also the start of sys/conf/kern.mk.
-Dimitry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20131001/626cccfa/attachment.sig>
More information about the freebsd-current
mailing list