On Mon, Aug 21, 2017 at 12:14 PM, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > On Mon, Aug 21, 2017 at 6:06 PM, Christopher Li <sparse@xxxxxxxxxxx> wrote: >> >> I am referenitng to your email reply to Dibyendu: >> >> =========================== >> It's a very surprising bug. It's not a linearization or >> an optimization bug as the AST is already wrong. >> With a simpler test case, like: >> struct s { >> char a:4; >> char b:4; >> }; >> >> int foo(void) >> { >> struct s x = { .a = 2, .b = 4 }; >> >> return x.b; >> } >> >> you can see that the linearization produce correct >> code for the initializer. >> You can also see that the return statement to be >> linearized is something like >> STMT_RETURN >> ret_value: EXPR_VALUE (value = 2) > > > It's precisely this bug that this patch fixes. Oh, I see. I misunderstand what bug the patch fix. Let me go back to read it again. Sorry about that. Thanks for the explain. 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