https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107826
Bug ID: 107826 Summary: ice during GIMPLE pass: slp Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- For the following reduced C code, compiled as follows: $ ~/gcc/results/bin/gcc -c -O2 -std=c99 bug864B.c during GIMPLE pass: slp bug864B.c:3:1: internal compiler error: Segmentation fault 3 | cpl_image_multiply_scalar_self() { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0xd7e3a9 crash_signal(int) ../../trunk.d1/gcc/toplev.cc:314 0x105cabc contains_struct_check(tree_node*, tree_node_structure_enum, char const *, int, char const*) ../../trunk.d1/gcc/tree.h:3645 0x105cabc complex_mul_pattern::matches(_complex_operation, hash_map<_slp_tree*, _complex_perm_kinds, simple_hashmap_traits<default_hash_traits<_slp_tree*>, _com plex_perm_kinds> >*, hash_map<pair_hash<nofree_ptr_hash<_slp_tree>, nofree_ptr_h ash<_slp_tree> >, bool, simple_hashmap_traits<default_hash_traits<pair_hash<nofr ee_ptr_hash<_slp_tree>, nofree_ptr_hash<_slp_tree> > >, bool> >*, _slp_tree**, v ec<_slp_tree*, va_heap, vl_ptr>*) C code is: enum { CPL_TYPE_FLOAT, CPL_TYPE_FLOAT_COMPLEX } __assert_fail; cpl_image_multiply_scalar_nxy; cpl_image_multiply_scalar_self() { switch (cpl_image_get_type()) { double *pio; unsigned long i; pio[i] *= 0; case CPL_TYPE_FLOAT: for (; cpl_image_multiply_scalar_nxy; i++) pio[i] *= 0; for (; cpl_image_multiply_scalar_nxy;) case CPL_TYPE_FLOAT_COMPLEX: { _Complex *pio = cpl_image_multiply_scalar_self; _Complex cscalar = __assert_fail; for (;; i++) pio[i] *= cscalar; } } } The code seems to first go wrong sometime between git hash 2b2f2ee49a33419f and 59cc4da605e5cb8e, a day later.