[Bug c++/96141] ICE in gimplify: Coroutine and noexcept(false) destructor cause: internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:2817

familiebaumanns at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun Jul 12 09:30:29 GMT 2020


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

--- Comment #3 from Bernd Baumanns <familiebaumanns at gmail dot com> ---
Is there something missing in that if? What must be changed?

This is assert fails:

/* ??? If this is a local variable, and it has not been seen in any
     outer BIND_EXPR, then it's probably the result of a duplicate
     declaration, for which we've already issued an error.  It would
     be really nice if the front end wouldn't leak these at all.
     Currently the only known culprit is C++ destructors, as seen
     in g++.old-deja/g++.jason/binding.C.  */
  if (VAR_P (decl)
      && !DECL_SEEN_IN_BIND_EXPR_P (decl)
      && !TREE_STATIC (decl) && !DECL_EXTERNAL (decl)
      && decl_function_context (decl) == current_function_decl)
    {
      gcc_assert (seen_error ());
      return GS_ERROR;
    }


More information about the Gcc-bugs mailing list