https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98082
Bug ID: 98082 Summary: [11 Regression] ICE in set_rtl, at cfgexpand.c:178 since r11-3257-g225a08220e444371 Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: ebotcazou at gcc dot gnu.org Target Milestone: --- The following fails: $ cat x.cpp class GoodIter { public: GoodIter(); GoodIter(GoodIter &); }; GoodIter operator-(int, GoodIter) { return GoodIter(); } GoodIter operator+(int, GoodIter) { return GoodIter(); } $ g++ -fipa-icf x.cpp -c -std=c++20 during RTL pass: expand x.cpp: In function ‘GoodIter operator+(int, GoodIter)’: x.cpp:7:10: internal compiler error: in set_rtl, at cfgexpand.c:178 7 | GoodIter operator+(int, GoodIter) { return GoodIter(); } | ^~~~~~~~ 0x71000d set_rtl /home/marxin/Programming/gcc/gcc/cfgexpand.c:178 0xbc613e set_parm_rtl(tree_node*, rtx_def*) /home/marxin/Programming/gcc/gcc/cfgexpand.c:1400 0xd51671 assign_parms /home/marxin/Programming/gcc/gcc/function.c:3760 0xd53ec7 expand_function_start(tree_node*) /home/marxin/Programming/gcc/gcc/function.c:5135 0xbd3f5b execute /home/marxin/Programming/gcc/gcc/cfgexpand.c:6612 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.