https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86216
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- And the original expansion bug simply says we're not getting function nesting /unnesting correct. The D.2371 local (what the SAVE_EXPR resolves to in the outer function) needs to be pulled from the static chain but I do not see any. In fact the middle-end isn't presented with nested functions at all but it looks like the C++ FE does lambdas in its own way but forgets about cross-"function/lambda" SAVE_EXPRs? I'm out-of-the way for that C++ FE issue. Maybe it doesn't want to share the SAVE_EXPRs in the end. Who knows.