Messages in this thread | | | Subject | Re: [PATCH] checkpatch.pl: add union and struct to the exceptions list | From | Stefani Seibold <> | Date | Tue, 12 Jan 2010 22:44:32 +0100 |
| |
Am Montag, den 11.01.2010, 14:42 -0800 schrieb Andrew Morton: > On Wed, 06 Jan 2010 17:46:00 +0100 > Stefani Seibold <stefani@seibold.net> wrote: > > > This patch add the struct and union keywords to the exceptions list of > > the checkpatch.pl script, to prevent error message "Macros with multiple > > statements should be enclosed in a do - while loop". Otherwise it is not > > possible to build a struct or union with a macro. > > > > Signed-off-by: Stefani Seibold <stefani@seibold.net> > > --- > > checkpatch.pl | 2 ++ > > 1 file changed, 2 insertions(+) > > > > --- linux-2.6.33-rc2.orig/scripts/checkpatch.pl 2009-12-03 04:51:21.000000000 +0100 > > +++ linux-2.6.33-rc2.new/scripts/checkpatch.pl 2010-01-06 17:35:29.747634447 +0100 > > @@ -2348,6 +2348,8 @@ sub process { > > DECLARE_PER_CPU| > > DEFINE_PER_CPU| > > __typeof__\(| > > + union| > > + struct| > > \.$Ident\s*=\s*| > > ^\"|\"$ > > }x; > > hm. Perhaps it would help if you could provide a snippet of code which > triggers the incorrect warning? >
Here is a small code snippet, which will be complained by the checkpatch.pl:
#define __STRUCT_KFIFO_COMMON(recsize, ptrtype) \ union { \ struct { \ unsigned int in; \ unsigned int out; \ }; \ char rectype[recsize]; \ ptrtype *ptr; \ const ptrtype *ptr_const; \ };
This construct is legal an save, so checkpatch.pl should accept this. It should be also true for struct defined in a macro.
Stefani
| |