https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111649
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org Target|riscv | Target Milestone|--- |14.0 --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- This is riscv specific. As the diagnostics explains, riscv_vector::vector_insn_info has non-trivial default constructor, so either it should be used only in {quick,safe}_grow_cleared and not {quick,safe}_grow vec operation, or should be changed not to have non-trivial default constructor, because *_grow doesn't invoke the constructors, only *_grow_cleared does. --- gcc/config/riscv/riscv-vsetvl.cc.jj 2023-09-28 11:32:15.966436424 +0200 +++ gcc/config/riscv/riscv-vsetvl.cc 2023-09-30 21:30:05.880134900 +0200 @@ -2417,7 +2417,7 @@ vector_infos_manager::vector_infos_manag vector_antin = nullptr; vector_antout = nullptr; vector_earliest = nullptr; - vector_insn_infos.safe_grow (get_max_uid ()); + vector_insn_infos.safe_grow_cleared (get_max_uid ()); vector_block_infos.safe_grow (last_basic_block_for_fn (cfun)); if (!optimize) {