https://gcc.gnu.org/bugzilla/show_bug.cgi?id=29970
--- Comment #9 from Martin Uecker <muecker at gwdg dot de> --- The sizeof problem is that in c_expr_sizeof_expr the argument of sizeof is only evaluated for VLAs but not for structs of variable size. The information about the size is then lost. Changing this fixes some more cases. A third problem seems to be that in gimplify_target_expr the size expressions are also gimplified to early. Fixing this also seems to fix some of the cases, but then triggers some other down stream problems...