[cfe-dev] Option to control level of OpenMP support

Andrey Bokhanko andreybokhanko at gmail.com
Thu May 7 04:55:08 PDT 2015


Now, with OpenMP 3.1 support completed
(http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-May/042845.html) we
(Intel) plan to go on with implementing 4.0 support. Others plan to
contribute as well -- AFAIK, at least IBM has specific plans and some
code already implemented.

However, there is no chance for us to have OpenMP 4.0 completed in
time for next release. And in general, it is next to impossible to
sync state of the next OpenMP standard support with be-annual releases
-- invariably we will have something only partially implemented (with
some pragmas working in full, some analyzed (with errors reported) but
no actual LLVM IR generated, some not supported at all) at any given
release time.

We can deal with this in two ways:
1) Enable all new developments by default, just document in release
notes that support of OpenMP x.x version is guaranteed, but everything
else is "experimental".
2) Enable only completed standard (3.1 at the moment) by default, and
let users enable non-completed support with an option. Say,

Personally, I believe option 2) is much more convenient for end users.

Opinions? (Both on what is preferable and option name.)

Andrey Bokhanko
Software Engineer
Intel Compiler Team

More information about the cfe-dev mailing list