Messages in this thread | | | Subject | Re: [PATCH v3] coding-style: Clarify the expectations around bool | From | Bart Van Assche <> | Date | Mon, 07 Jan 2019 14:50:30 -0800 |
| |
On Mon, 2019-01-07 at 14:10 -0800, Joe Perches wrote: > On Mon, 2019-01-07 at 14:11 -0700, Jason Gunthorpe wrote: > > There has been some confusion since checkpatch started warning about bool > > use in structures, and people have been avoiding using it. > > > > Many people feel there is still a legitimate place for bool in structures, > > so provide some guidance on bool usage derived from the entire thread that > > spawned the checkpatch warning. > > Thanks Jason. > > It'd be nice to combine this with some better > checkpatch warning or even a removal of that > misleading warning from checkpatch altogether. > > With a couple minor nits below and and Ack if > you want one: > > Acked-by: Joe Perches <joe@perches.com> > > > diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst > > [] > > @@ -921,7 +921,37 @@ result. Typical examples would be functions that return pointers; they use > > NULL or the ERR_PTR mechanism to report failure. > > > > > > -17) Don't re-invent the kernel macros > > +17) Using bool > > +-------------- > > + > > +The Linux kernel uses the C99 standard for the bool type. bool values can only > > Maybe > > The Linux kernel bool type is the C99 _Bool type.
Or maybe "The Linux kernel bool type is an alias for the C99 _Bool type."
> > +evaluate to 0 or 1, and implicit or explicit conversion to bool automatically > > +converts the value to true or false. When using bool types the !! construction > > +is not needed, which eliminates a class of bugs. > > + > > +When working with bool values the true and false labels should be used instead > > true and false are not labels but #defines
With these refinements, feel free to add:
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
| |