I've been talking about OpenMP for Clang for two years and longer now, but support for this parallel programming standard for C and Fortran has yet to land. Even with the upcoming release of LLVM 3.4, support for OpenMP is absent.
The last time there was any news to share on OpenMP in Clang was last August when Intel was still working on improving the support but today we have a new status update.
Andrey Bokhanko of Intel's compiler team wrote a status update this morning on the LLVM mailing list:
- ANL and PathScale have re-based the OpenMP support from Clang 3.3 to now running off the latest Clang development code.
- The OpenMP Consortium is acknowledging the Clang work on supporting this standard.
- An Intel developer gave a talk about OpenMP in Clang/LLVM at the recent SC13 conference.
- Intel has contributed support for the OMP SIMD pragma, OMP declare reduction pragma, and proc_bind clause support for Clang. These OpenMP features are part of the OpenMP 4.0 standard. Another Intel developer also worked on support for variable length arrays for OpenMP construct.s
- Texas Instruments is expressing support for OpenMP 4 in LLVM/Clang.
More details can be found in this LLVMdev post. Meanwhile, the GCC 4.9 compiler will feature out-of-the-box OpenMP 4.0 support and has long supported previous versions of the multi-processing specification.