This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug lto/58285] ICE in lto_output_tree, at lto-streamer-out.c:1318


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58285

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org

--- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
It is because following condition:
  if (CODE_CONTAINS_STRUCT (code, TS_DECL_MINIMAL))
    { 
      /* Drop names that were created for anonymous entities.  */
      if (DECL_NAME (expr)
          && TREE_CODE (DECL_NAME (expr)) == IDENTIFIER_NODE
          && ANON_AGGRNAME_P (DECL_NAME (expr)))
        ;
      else
        DFS_follow_tree_edge (DECL_NAME (expr));
      DFS_follow_tree_edge (DECL_CONTEXT (expr));
    }

disaggree with:
static void
write_ts_decl_minimal_tree_pointers (struct output_block *ob, tree expr,
                                     bool ref_p)
{
  /* Drop names that were created for anonymous entities.  */
  if (DECL_NAME (expr)
      && TREE_CODE (DECL_NAME (expr)) == IDENTIFIER_NODE
      && ANON_AGGRNAME_P (DECL_NAME (expr)))
    stream_write_tree (ob, NULL_TREE, ref_p);
  else
    stream_write_tree (ob, DECL_NAME (expr), ref_p);
  stream_write_tree (ob, DECL_CONTEXT (expr), ref_p);
}

the name is $_1 that is anon, but once we miss the fact.  I ust be blind, but
do not see how.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]