On Wed, Aug 16, 2017 at 11:34 AM, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > +void seal_gotos(struct entrypoint *ep) > +{ > + struct basic_block *bb; > + > + FOR_EACH_PTR(ep->bbs, bb) { > + if (bb->sealed) > + continue; > + if (bb->unsealable) > + bb->unsealable = 0; > + seal_bb(bb); > + } END_FOR_EACH_PTR(bb); > + > + // cleanup these fields as they are aliased to ::needs & ::defines > + FOR_EACH_PTR(ep->bbs, bb) { > + bb->sealed = bb->unsealable = 0; I think if you want bb->needs and bb->define to zero. Best directly assign bb->needs && bb->defines to zero; I am not sure C stander how to deal with the unused bit field parts. If I recall correctly a lot of bit-field related stuff are implementation define. So setting bb->sealed and bb->unsealable might not be enough to make bb->needs zero. Chris -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html