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

            Bug ID: 89692
           Summary: [9 Regression] ICE in streamer_write_chain, at
                    tree-streamer-out.c:506
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, lto
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---

g++-9.0.0-alpha20190310 snapshot (r269561) ICEs when compiling the following
testcase at any optimization level (except -Og) and w/ -flto:

struct ln {
  short int mu;
  short int uz;
  unsigned char ib : 1;
};

int
tl (void)
{
  unsigned char w7[6] = { 0 };
  ln d8;

  __builtin_memcpy (&d8, w7, sizeof (w7));

  return d8.ib == w7[0];
}

% g++-9.0.0-alpha20190310 -O1 -flto -c o0hulxhn.cc
during IPA pass: pure-const
o0hulxhn.cc:16:1: internal compiler error: in streamer_write_chain, at
tree-streamer-out.c:506
   16 | }
      | ^
0x7b2a11 streamer_write_chain(output_block*, tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/tree-streamer-out.c:506
0x11ba349 write_ts_type_non_common_tree_pointers
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/tree-streamer-out.c:723
0x11ba349 streamer_write_tree_body(output_block*, tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/tree-streamer-out.c:920
0xe41448 lto_write_tree_1
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/lto-streamer-out.c:405
0xe4c125 DFS::DFS(output_block*, tree_node*, bool, bool, bool)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/lto-streamer-out.c:704
0xe4cfe2 lto_output_tree(output_block*, tree_node*, bool, bool)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/lto-streamer-out.c:1628
0xe40eac write_global_stream
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/lto-streamer-out.c:2511
0xe4b13e lto_output_decl_state_streams(output_block*, lto_out_decl_state*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/lto-streamer-out.c:2558
0xe4b13e produce_asm_for_decls()
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/lto-streamer-out.c:2898
0xeb7bef write_lto
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/passes.c:2600
0xebb13e ipa_write_summaries_1
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/passes.c:2661
0xebb13e ipa_write_summaries()
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/passes.c:2724
0xb7d200 ipa_passes
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/cgraphunit.c:2532
0xb7d200 symbol_table::compile()
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/cgraphunit.c:2620
0xb7f33c symbol_table::compile()
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/cgraphunit.c:2599
0xb7f33c symbol_table::finalize_compilation_unit()
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20190310/work/gcc-9-20190310/gcc/cgraphunit.c:2865

Reply via email to