[Bug lto/89692] [9 Regression] ICE in streamer_write_chain, at tree-streamer-out.c:506

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 13 09:24:00 GMT 2019


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-03-13
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
      Known to work|                            |8.3.1
   Target Milestone|---                         |9.0
     Ever confirmed|0                           |1
      Known to fail|                            |9.0

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.

502           /* We avoid outputting external vars or functions by reference
503              to the global decls section as we do not want to have them
504              enter decl merging.  We should not need to do this anymore
because
505              free_lang_data removes them from block scopes.  */
506           gcc_assert (!VAR_OR_FUNCTION_DECL_P (t) || !DECL_EXTERNAL (t));
507           stream_write_tree (ob, t, ref_p);
(gdb) p t
$1 = <function_decl 0x7ffff69d6e00 __dt >
(gdb) up
#2  0x0000000001782217 in write_ts_type_non_common_tree_pointers (
    ob=0x3379080, expr=<record_type 0x7ffff69e9000 ln>, ref_p=false)
    at /space/rguenther/src/svn/trunk2/gcc/tree-streamer-out.c:723
723         streamer_write_chain (ob, TYPE_FIELDS (expr), ref_p);

so somehow we fail to perform free-lang-data on the ln record type
variant used here - its main variant has a distinct (and "fixed")
list of fields.


More information about the Gcc-bugs mailing list