Which OpenMP version does the implementation support?

LLVM 16 has the _OPENMP macro set to 201811. This doesn’t correspond to a published (final) version of the specification - the closest match is TR6.

There are lots of clarifications with each release of the spec, some of which cause quite different behaviour. Without this being macro being set to a published version of the spec, it’s tricky to know for sure what behaviour programs should expect from the runtime.

I’m very impressed with the progress LLVM has made implementing OpenMP since 4.x, and into 5.x. I hope you keep up the good work! Thanks!