On Sat, Feb 24, 2018 at 2:00 PM, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > Hi Chris, > > I saw that a few patches have been pushed on the head, > including the two I disagreed with and which I explained *why* > they where wrong. Well. > > Meanwhile, I see some regressions with the current head. > For example some simple programs like: > void a(void) > { > int b[] = { 8 }; > int c; > for (;;) > b[c] = b[0]; > } > now crashes when used with test-linearize. Oops, reproduced. Thanks for the report. I see pseudo->ident polluted by pseudo->size. Separate them out of the union seems to fix the crash. Taking a look now. If it is hard to fix I will apply the revert. > I also see regressions in the generated IR, of course, > like I explained in November. More detail of the regression? Chris diff --git a/linearize.h b/linearize.h index fd8e00d3..7841ba23 100644 --- a/linearize.h +++ b/linearize.h @@ -31,11 +31,9 @@ enum pseudo_type { struct pseudo { int nr; enum pseudo_type type; + int size; /* OP_SETVAL only */ struct pseudo_user_list *users; - union { - struct ident *ident; - int size; /* OP_SETVAL only */ - }; + struct ident *ident; union { struct symbol *sym; struct instruction *def; -- 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