https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119775
Bug ID: 119775 Summary: [OpenMP] ICE with append_args in iobj member function Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: waffl3x at gcc dot gnu.org Target Milestone: --- https://godbolt.org/z/PYff7Gxoa ``` enum omp_interop_t : __UINTPTR_TYPE__; struct S { void v(int, omp_interop_t) {} #pragma omp declare variant(v) match(construct={dispatch}) \ append_args(interop(target)) void b(int) {} }; void f() { #pragma omp dispatch S{}.b(42); } ``` <source>:14:3: internal compiler error: tree check: accessed operand 6 of call_expr with 5 operands in modify_call_for_omp_dispatch, at gimplify.cc:3969 14 | S{}.b(42); | ^ I noticed this while preparing my PR119659 patch for submission, it's right around the same area, similar cause This will be fixed alongside that patch.