On Tue, Nov 17, 2020 at 03:22:21PM -0800, Linus Torvalds wrote: > On Tue, Nov 17, 2020 at 1:29 PM Luc Van Oostenryck > <luc.vanoostenryck@xxxxxxxxx> wrote: > > > > Casts should drop qualifiers but Sparse doesn't do this yet. > > > > The fix seems pretty simple: after having evaluated the type of > > the cast, if this type is a SYM_NODE and contains qualifiers, > > make a copy of the type with the qualifiers removed and use > > this copy as the type. > > Did you look at the lvalue conversion issue too? I'm looking at it. > IOW, ((void)0,(x)) should end up also with qualifiers dropped on the > end result, because the comma expression will have turned x from an > lvalue to an rvalue. > > Would doing the same unqualify_type() in degenerate() be sufficient? For the comma, yes, I think it should be sufficient. I'm checking a few things around but I'll finish this tomorrow. -- Luc