https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82801
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at ucw dot cz, | |jamborm at gcc dot gnu.org Known to fail| |5.4.0, 6.3.0, 7.2.0, 8.0 --- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> --- Thanks for that. Btw. started with r218024. I think we can't check for node->decl as the node is removed in time it's checked: cgraph dump: ... Removing unused symbols: A<<anonymous> >::A() [with int <anonymous> = 1] ... ipa inline dump: Flattening functions: Flattening double B::m_fn1() const Inlining A<<anonymous> >::A() [with int <anonymous> = 1] into double B::m_fn1() const. Estimating body: A<<anonymous> >::A() [with int <anonymous> = 1]/3 Known to be false: not inlined size:0 time:0.000000 nonspec time:2.000000 That said proper fix would be probably to have a cgraph node removal hook that will register removed nodes that will be skipping in main flattening loop. Do we face a similar problem somewhere else in inliner?