https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114985
--- Comment #19 from Martin Jambor <jamborm at gcc dot gnu.org> --- The following minimized testcase ICEs with r15-312-g36e877996936ab cross-compiler to ppc64le with -O2 nicely: void omp_clause_elt_check(int *, const char *, const char *); enum { C_OMP_CLAUSE_SPLIT_COUNT }; enum c_omp_region_type { C_ORT_OMP }; void c_finish_omp_clauses(int *, c_omp_region_type); int *c_parser_omp_all_clauses_prev; int *c_parser_omp_all_clauses(bool finish_p) { if (finish_p) c_finish_omp_clauses(c_parser_omp_all_clauses_prev, C_ORT_OMP); return c_parser_omp_all_clauses_prev; } int c_parser_omp_teams___trans_tmp_104; static void c_parser_omp_teams(int **cclauses) { c_parser_omp_all_clauses(cclauses); omp_clause_elt_check(&c_parser_omp_teams___trans_tmp_104, "", __FUNCTION__); } void c_parser_omp_target() { int *cclauses[C_OMP_CLAUSE_SPLIT_COUNT]; c_parser_omp_teams(cclauses); }