On Thu, Oct 22, 2015 at 09:53:46AM -0400, Nathan Sidwell wrote: > On 10/22/15 05:37, Jakub Jelinek wrote: > > >And, I must say I'm at least missing testcases that check parsing but also > >runtime behavior of the vector or worker clause arguments (there > >is one gang (static:1) clause, but not the other clauses nor other styles of > >gang arguments. > > the static clause is only valid on gang.
That is what I've figured out. But it is unclear from the parsing what from these is allowed: int v, w; ... gang(26) gang(v) vector(length: 16) vector(length: v) vector(16) vector(v) worker(num: 16) worker(num: v) worker(16) worker(v) gang(16, 24) gang(v, w) gang(static: 16, num: 5) gang(static: v, num: w) gang(num: 5, static: 4) gang(num: v, static: w) and if the length: or num: part is really optional, then int length, num; vector(length) worker(num) gang(num, static: 6) gang(static: 5, num) should be also accepted (or subset thereof?). Jakub