2008-12-18 16:24:24

by Geert Uytterhoeven

[permalink] [raw]
Subject: checkpatch and pr_fmt()?

When using the recently introduced pr_fmt() infrastructure (commit
d091c2f58ba32029495a933b721e8e02fbd12caa, "Add 'pr_fmt()' format modifier to
pr_xyz macros."), checkpatch spits out the following annoying error:

| ERROR: Macros with complex values should be enclosed in parenthesis
| +#define pr_fmt(fmt) "%s: " fmt, __func__

Unfortunately, adding parentheses is not a solution, as it creates illegal C
code.

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Techsoft Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone: +32 (0)2 700 8453
Fax: +32 (0)2 700 8622
E-mail: [email protected]
Internet: http://www.sony-europe.com/

A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010


2009-03-10 19:48:56

by Andy Whitcroft

[permalink] [raw]
Subject: Re: checkpatch and pr_fmt()?

On Thu, Dec 18, 2008 at 05:24:06PM +0100, Geert Uytterhoeven wrote:
> When using the recently introduced pr_fmt() infrastructure (commit
> d091c2f58ba32029495a933b721e8e02fbd12caa, "Add 'pr_fmt()' format modifier to
> pr_xyz macros."), checkpatch spits out the following annoying error:
>
> | ERROR: Macros with complex values should be enclosed in parenthesis
> | +#define pr_fmt(fmt) "%s: " fmt, __func__
>
> Unfortunately, adding parentheses is not a solution, as it creates illegal C
> code.

Yeah that one looks like something we should avoid. Fixed in my next
update which can be tested here:

http://www.kernel.org/pub/linux/kernel/people/apw/checkpatch/checkpatch.pl-testing

-apw