https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91334
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
Known to work| |9.1.0
Target Milestone|--- |10.0
Summary|[10 Regression] internal |[10 Regression] ICE in
|compiler error: |propagate_necessity at
|Segmentation fault |gcc/tree-ssa-dce.c:813
| |since r273791
Known to fail| |10.0
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:
$ cat ice.cpp
struct Base {
virtual ~Base();
};
struct Derived : Base {
void operator delete(void *) {}
};
void foo() { Derived d1; }
$ gcc -O3 -c -fno-ipa-pure-const -fipa-sra -fno-early-inlining ice.cpp
during GIMPLE pass: cddce
ice.cpp: In destructor ‘virtual Derived::~Derived()’:
ice.cpp:7:26: internal compiler error: in gimple_call_arg, at gimple.h:3190
7 | void foo() { Derived d1; }
| ^
0x13198ce gimple_call_arg
/home/marxin/Programming/gcc/gcc/gimple.h:3190
0x1319924 gimple_call_arg
/home/marxin/Programming/gcc/gcc/gimple.h:3198
0x131c76a propagate_necessity
/home/marxin/Programming/gcc/gcc/tree-ssa-dce.c:813
0x131f0b1 perform_tree_ssa_dce
/home/marxin/Programming/gcc/gcc/tree-ssa-dce.c:1663
0x131f1f3 tree_ssa_cd_dce
/home/marxin/Programming/gcc/gcc/tree-ssa-dce.c:1707
0x131f360 execute
/home/marxin/Programming/gcc/gcc/tree-ssa-dce.c:1772
I've got a patch candidate for it.