https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87911
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- For OpenMP, I think after the clarification it got fixed in r9-3992-g81a227c6054a82118d80d3f4b2fffb44bc43aae2 There is still the fuzzy case whether #pragma omp declare reduction combiner expression should allow commas or not, all compilers I've checked do allow it there and IMNSHO it is the right thing, but maybe the standard doesn't allow that, but it is the standard that should be fixed in that case. #pragma omp declare reduction(+:struct S:omp_out.x += omp_in.x, omp_out.y += omp_in.y)