Add annotations to testcases that are expected to fail when using certain compilers
Hahnfeld protze.joachim jlpeyton omalyshe
- rG633bc4ca994c: [OMPT] Add annotations to testcases that are expected to fail when using…
rL321262: [OMPT] Add annotations to testcases that are expected to fail when using…
rOMP321262: [OMPT] Add annotations to testcases that are expected to fail when using…
This works on LLVM's buildbot, so this can't be entirely correct: http://lab.llvm.org:8011/builders/openmp-ompt-gcc-x86_64-linux-debian/builds/14/steps/test-libomp/logs/stdio
Why did you want to deactivate this?
I thought versions 17 and 18 of the Intel Compiler pass in the data to differentiate between sections and loops?
Which gcc version does the buildbot use? For me the testcase fails for versions up to 7.2 (I haven't tested more recent versions).
In that case cancel/cancel_worksharing.c should fail for icc-17, icc-18 too?
GCC 7.2.0, probably the system default in Debian: http://lab.llvm.org:8011/builders/openmp-ompt-gcc-x86_64-linux-debian/builds/16/steps/configure-openmp/logs/stdio
Maybe the distribution carries some downstream patches?!?
No, the ident information was only missing for the worksharing constructs. For cancellation constructs, the compiler generates a call to '__kmpc_cancel(...)' with the correct kind parameter. icc-16 however did not generate the correct call.
Yes, so the fix has been backported to GCC 5, 6, 7. This has happened after 7.2.0 has been released, but probably Debian tracks a more recent commit (which most distributions do unfortunately). So although I don't like we might need to turn this into an UNSUPPORTED because a passing XFAIL is treated as error :-(
I think we don't have gcc-7.0 gcc-7.1 at the moment, only gcc-7. And we could possibly get in trouble with the older versions as well because the fix was backported to GCC 5 and 6, too.
So we need to treat compilers with "fixes" in minor versions as UNSUPPORTED because we don't know when distributions will backport patches and what version they give their "patched" compiler. To avoid any hassles with GCC 5 and 6 which might see a maintenance release or not, I'd propose the following:
- For https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81687: UNSUPPORTED: gcc-4, gcc-5, gcc-6, gcc-7, GCC 8 will certainly have the fix
- ident information:
- XFAIL: icc-16, icc-17 (these will not be updated according to @omalyshe), UNSUPPORTED: icc-18 (might get them in update 2), later versions will have the information for sure.
- XFAIL: clang-3, clang-4, clang-5 can stay because the patch was not backported from trunk which will become Clang 6 (I do really hope no downstream distribution will do that on their own)
btw, this one must be failing for a different reason, unrelated to the problem with labels: http://lab.llvm.org:8011/builders/openmp-ompt-gcc-x86_64-linux-debian/builds/20/steps/test-libomp/logs/FAIL%3A%20libomp%3A%3Adependences.c
Two small things to considers, looks good otherwise.
Maybe we can commit all changes because of the GCC bug separately and add a meaningfull description? (no need to split this revision though)
Please add clang-4.0.0 if this test case triggers the hang on cancellation
Shouldn't this be UNSUPPORTED as well?