https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108667

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---

This is partly caused by not inlining everything as main is marked as called
once.
If instead I call main, main1, the warning goes away and the following call is
inlined now:
  std::_Function_handler<void(), main()::<lambda()> >::_M_manager (&MEM[(struct
function *)&s + 32B].D.47025._M_functor, &D.47426.D.47025._M_functor, 2);

The warning in this case is about D.47426 which does not have any
initialization before the call here.
Note the call with last operand as 2 does not actually do anything and just
returns.

I don't know the best way to solve this specific case as it depends on inlining
heurstics.

Question for the reporter, was this a reduction from some real code or did you
just notice the warning while testing some code?

Reply via email to