On 06/07/2016 04:13 AM, Jakub Jelinek wrote: > I've noticed > if ((mask & OMP_CLAUSE_WAIT) > && !c->wait > && gfc_match ("wait") == MATCH_YES) > { > c->wait = true; > match_oacc_expr_list (" (", &c->wait_list, false); > continue; > } > which looks just weird and confusing. Why isn't this instead: > if ((mask & OMP_CLAUSE_WAIT) > && !c->wait > && (match_oacc_expr_list ("wait (", &c->wait_list, false) > == MATCH_YES)) > { > c->wait = true; > continue; > } > ? Otherwise you happily accept wait without following (, perhaps even > combined with another clause without any space in between etc.
Both acc wait and async accept optional parenthesis arguments. E.g., #pragma acc wait blocks for all of the async streams to complete before proceeding, whereas #pragma acc wait (1, 5) only blocks for async streams 1 and 5. Cesar