https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> --- Ok, Richi's reply to the patch: ``` I think the C FE and/or ASAN should be fixed instead. Seems to work fine with C++. ``` In C it looks as follows: { switch (a) { { int c; case 2:; (int *) &<<< Unknown tree: compound_literal_expr int D.2118[0] = {}; >>>; int c; } } } while in C++: { { switch (a) { { int c; case 2:; <<cleanup_point <<< Unknown tree: expr_stmt (void) TARGET_EXPR <D.2598, {}> >>>>>; int c; } } } } Marek, can you please take a look why the VAR_DECL built from the expr_stmt is not assigned in a BIND_EXPR?