https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113067

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Regarding:
  implementation={atomic_default_mem_order(acq_rel)}'

I believe this is a scoped value - at least in later OpenMP versions (to be
confirmed).

In any case, I think it should not be checked late in the middle end or at late
stage but directly evaluated during parsing, similarly to 'omp atomic' which
uses the current value of 'atomic_default_mem_order'.

We still need to add some follow-up checking about the validity of the clauses
themselves (etc.), which happens much later (esp. for Fortran, PR122306),
but the matched/not matched needs to be evaluated early. And be it by adding an
internal 'atomic_default_mem_not_matched' there to recover the match state
later.

Reply via email to