This patch adds a test using the doacross clauses in OpenMP and removes gcc from testing kmp_doacross_check.c which is only testing the kmp rather than the gomp interface.
I'm not sure if this test works for all "supported" versions of compilers:
- I think Clang supports CodeGen for doacross since version 3.9 (landed in May 2016, see https://github.com/llvm-mirror/clang/commit/f2b5110519dc87a957877b8bdaf26717ff25abb5)
- GCC 6 supports "Version 4.5 of the OpenMP specification" which should include doacross (see https://gcc.gnu.org/gcc-6/changes.html)
- Looks like Intel Compiler 17.0 added support for doacross (see https://software.intel.com/en-us/articles/intel-visual-fortran-compiler-170-for-windows-release-notes-for-intel-parallel-studio-xe).
Please add corresponding XFAILs to the test so that the test suite doesn't regress for older compilers. IMO it would be good to support the last 3 major compiler releases of each compiler, maybe with the exception of GCC where we might want to make RHEL/CentOS' version 4.8.5 work. We should probably discuss this on the mailing list and document an official policy for that...
(Minor comment: Can you please clang-format the new test?)
Added comment, clang-formatted test, added comp-major.minor to features in lit so i could xfail clang-3.8 and 3.7 and added other proper compiler versions for xfail of the new doacross test.