https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98101
scott snyder <s...@li-snyder.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |s...@li-snyder.org --- Comment #3 from scott snyder <s...@li-snyder.org> --- Here's another example that crashes in the same place, but which doesn't use -fvtable-verify. This example does use vectorization, and the ICE occurs only with -O3. Seen with gcc 11.0.0 20201128. -- x.cc ------------------------------------------------------------------ typedef double Packet2d __attribute__ ((__vector_size__ (16))); Packet2d psub(); struct Translation { double m_coeffs[2]; Translation(double sx, double sy ) { m_coeffs[0] = sx; m_coeffs[1] = sy; } }; struct GeoTransform { GeoTransform(const Translation& transform); }; struct GeoIdentifierTag { GeoIdentifierTag(); }; struct CryostatConstructionTBEC { virtual ~CryostatConstructionTBEC(); }; GeoTransform* createEnvelope() { CryostatConstructionTBEC cryoConstruction; double pos[2]; *(Packet2d*)pos = psub(); new GeoIdentifierTag; return new GeoTransform( Translation(pos[0], pos[1]) ); } --------------------------------------------------------------------------- $ g++ -c -O3 x.cc during GIMPLE pass: ehcleanup x.cc: In function ‘GeoTransform* createEnvelope()’: x.cc:30:15: internal compiler error: in mark_reachable_handlers, at tree-eh.c:4033 30 | GeoTransform* createEnvelope() | ^~~~~~~~~~~~~~ 0x633a75 mark_reachable_handlers /home/sss/gcc/gcc/gcc/tree-eh.c:4033 0xcda146 remove_unreachable_handlers /home/sss/gcc/gcc/gcc/tree-eh.c:4080 0xcddfd1 execute_cleanup_eh_1 /home/sss/gcc/gcc/gcc/tree-eh.c:4783 0xcddfd1 execute /home/sss/gcc/gcc/gcc/tree-eh.c:4850 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.