typedefs and structs [was Re: [PATCH 16/42]: PCI: PCI Error reporting callbacks]

linas linas at austin.ibm.com
Tue Nov 8 05:56:21 EST 2005


On Mon, Nov 07, 2005 at 10:27:27AM -0800, Greg KH was heard to remark:
> 
> 3) realy strong typing that sparse can detect.

Am compiling now.

> enums don't really work, as you can get away with using an integer and
> the compiler will never complain.  Please use a typedef (yeah, I said
> typedef) in the way that sparse will catch any bad users of the code.

How about typedef'ing  structs?

I'm not to clear on what "sparse" can do; however, in the good old days,
gcc allowed you to commit great sins when passing "struct blah *" to 
subroutines, whereas it stoped you cold if you tried the same trick 
with a typedef'ed "blah_t *".  This got me into the habit of turning
all structs into typedefs in my personal projects.  Can we expect
something similar for the kernel, and in particular, should we start
typedefing structs now?

(Documentation/CodingStyle doesn't mention typedef at all).

--linas




More information about the Linuxppc64-dev mailing list