]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fortran/OpenMP: align/allocator modifiers to the allocate clause
authorTobias Burnus <tobias@codesourcery.com>
Mon, 12 Dec 2022 08:31:50 +0000 (09:31 +0100)
committerTobias Burnus <tobias@codesourcery.com>
Mon, 12 Dec 2022 08:31:50 +0000 (09:31 +0100)
commit58e0579ed871db0220841504efc540145c7683ab
tree24b23b2ecc862a08c3c9da19f951aae19dfa4b8f
parent74f4e5bfc16c8f8073bd807217e8b17daae013f3
Fortran/OpenMP: align/allocator modifiers to the allocate clause

gcc/fortran/ChangeLog:

* dump-parse-tree.cc (show_omp_namelist): Improve OMP_LIST_ALLOCATE
output.
* gfortran.h (struct gfc_omp_namelist): Add 'align' to 'u'.
(gfc_free_omp_namelist): Add bool arg.
* match.cc (gfc_free_omp_namelist): Likewise; free 'u.align'.
* openmp.cc (gfc_free_omp_clauses, gfc_match_omp_clause_reduction,
gfc_match_omp_flush): Update call.
(gfc_match_omp_clauses): Match 'align/allocate modifers in
'allocate' clause.
(resolve_omp_clauses): Resolve align.
* st.cc (gfc_free_statement): Update call
* trans-openmp.cc (gfc_trans_omp_clauses): Handle 'align'.

libgomp/ChangeLog:

* libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
item about 'align'; mark clause as 'Y' and directive as 'N'.
* testsuite/libgomp.fortran/allocate-2.f90: New test.
* testsuite/libgomp.fortran/allocate-3.f90: New test.

(cherry picked from commit b2e1c49b4a4592f9e96ae9ece8af7d0e6527b194)
gcc/fortran/ChangeLog.omp
gcc/fortran/dump-parse-tree.cc
gcc/fortran/gfortran.h
gcc/fortran/match.cc
gcc/fortran/openmp.cc
gcc/fortran/st.cc
gcc/fortran/trans-openmp.cc
libgomp/ChangeLog.omp
libgomp/libgomp.texi
libgomp/testsuite/libgomp.fortran/allocate-2a.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.fortran/allocate-3.f90 [new file with mode: 0644]