Re: [PATCH 00/16] mm: prepare for converting vm->vm_flags to 64-bit

Al Viro
2012-03-22T21:57:57Z

On Thu, Mar 22, 2012 at 02:41:22PM -0700, Andrew Morton wrote:
> On Thu, 22 Mar 2012 21:28:11 +0000
> Al Viro <viro@ZenIV.linux.org.uk> wrote:
>
> > On Thu, Mar 22, 2012 at 02:26:47PM -0700, Andrew Morton wrote:
> > > It would be nice to find some way of triggering compiler warnings or
> > > sparse warnings if someone mixes a 32-bit type with a vm_flags_t. Any
> > > thoughts on this?
> > >
> > > (Maybe that's what __nocast does, but Documentation/sparse.txt doesn't
> > > describe it)
> >
> > Use __bitwise for that - check how gfp_t is handled.
>
> So what does __nocast do?

Not much... Basically, extending conversions. __nocast int can be
freely mixed with int - no complaints will be given.

As far as I'm concerned, it's deprecated - it's weaker than __bitwise and
doesn't have particulary useful semantics. For this kind of stuff (flags)
__bitwise is definitely better - that's what it had been implemented for.