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