llvm-project
a83d3362 - [flang][OpenMP] Don't allow DO CONCURRENT inside of a loop nest (#144506)

Commit
143 days ago
[flang][OpenMP] Don't allow DO CONCURRENT inside of a loop nest (#144506) I don't think DO CONCURRENT fits the definition of a Canonical Loop Nest (OpenMP 6.0 section 6.4.1). It is however explicitly allowed for the LOOP construct (6.0 section 13.8). There's some obscure language in OpenMP 6.0 for the LOOP construct: > If the collapsed loop is a DO CONCURRENT loop, neither the > data-sharing attribute clauses nor the collapse clause may be specified. From the surrounding context, I think "collapsed loop" just means the loop that the LOOP construct applies to. So I will interpret this to mean that DO CONCURRENT can only be used with the LOOP construct if it does not contain the COLLAPSE clause. This also fixes a bug where the associated clause was never cleared after it was set. Fixes #144178
Author
Parents
Loading