Cumulative update of the OpenMP 5.x changes in GCC 12.
I hope it covers all essential changes. Of course, some other could be added like 'omp target in_reduction', which was missing before (oversight) and possibly other things, which I have missed. For the last bullet: the implementation-status documentation is new – but even if it were not, linking to it makes sense. I kept adding and removing a 'full' after the "The", which sounds better but while the list in libgomp.texi is extensive, it does not have "full" coverage of all changes. Additionally, as it is new, a "now" could be added after "can". Suggestions, additions, wording changes? Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
gcc-12/changes.html: Update OpenMP status diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html index 81f62fe3..bbb8f2ac 100644 --- a/htdocs/gcc-12/changes.html +++ b/htdocs/gcc-12/changes.html @@ -70,20 +70,36 @@ a work-in-progress.</p> <h2 id="languages">New Languages and Language specific improvements</h2> <ul> - <li>OpenMP 5.0 support has been extended: The <code>close</code> map modifier + <li>OpenMP + <ul> + <li>OpenMP 5.0 support has been extended: The <code>close</code> map modifier and the <code>affinity</code> clause are now supported and for Fortran additionally the following features which were available in C and C++ - before: <code>depobj</code>, <code>mutexinoutset</code> and - <code>iterator</code> can now also be used with the <code>depend</code> - clause, <code>defaultmap</code> has been updated for OpenMP 5.0, and the - <code>loop</code> directive and combined directives - involving <code>master</code> directive have been added. Additionally, - the following OpenMP 5.1 feature have been added: support for expressing + before: <code>declare variant</code> is now available, + <code>depobj</code>, <code>mutexinoutset</code> and <code>iterator</code> + can now also be used with the <code>depend</code> clause, + <code>defaultmap</code> has been updated for OpenMP 5.0, and the + <code>loop</code> directive and combined directives involving + <code>master</code> directive have been added.</li> + <li>The following OpenMP 5.1 feature have been added: support for expressing OpenMP directives as C++ 11 attributes, the <code>masked</code> and <code>scope</code> construct, the <code>nothing</code> and <code>error</code> directives, and using <code>primary</code> with the <code>proc_bind</code> clause and <code>OMP_PROC_BIND</code> environment - variable. + variable, the <code>reproducible</code> and <code>unconstrained</code> + modifiers to the <code>order</code> clause, and, for C/C++ only, the + align- and allocate-modifiers to the <code>allocate</code> clause and + the <code>atomic</code> extensions are now available. The + <code>OMP_PLACE</code> environment variable supports the OpenMP 5.1 + features and the <code>OMP_NUM_TEAMS</code> and + <code>OMP_TEAMS_THREAD_LIMIT</code> environement variables and their + associated API routines are now supported as well as the memory-allocation + routines added for Fortran and extended for C/C++ in OpenMP 5.1. In + Fortran code, strictly-structured blocks can be used.</li> + <li>The <a + href="https://gcc.gnu.org/onlinedocs/libgomp/OpenMP-Implementation-Status.html" + >OpenMP Implementation Status</a> can be found in the libgomp manual.</li> + </ul> </li> <li>The new warning flag <code>-Wopenacc-parallelism</code> was added for OpenACC. It warns about potentially suboptimal choices related to