On Thu, May 11, 2017 at 10:34:02AM +0530, Pushkar Jambhlekar wrote:
> If I remove '!!', sparse flags warning:
> 
> fs/read_write.c:38:29: warning: incorrect type in return expression
> (different base types)
> fs/read_write.c:38:29:    expected bool
> fs/read_write.c:38:29:    got restricted fmode_t
> 
> It means explicit conversion is needed.

FVO"needed" equal to "needed to make sparse STFU"?  If anything, that's
sparse being wrong - evaluate.c:check_assignment_type() should do
                if (t == &ctype_bool) {
                        if (is_fouled_type(s))
                                warning((*rp)->pos, "%s degrades to integer",
                                        show_typename(s->ctype.base_type));
                        goto Cast;
                }
right after
                } else if (!(sclass & TYPE_RESTRICT))
                        goto Cast;

Reply via email to