-
- Downloads
OpenMP: Support acquires/release in 'omp require atomic_default_mem_order'
This is an OpenMP 5.2 feature. gcc/c/ChangeLog: * c-parser.cc (c_parser_omp_requires): Handle acquires/release in atomic_default_mem_order clause. (c_parser_omp_atomic): Update. gcc/cp/ChangeLog: * parser.cc (cp_parser_omp_requires): Handle acquires/release in atomic_default_mem_order clause. (cp_parser_omp_atomic): Update. gcc/fortran/ChangeLog: * gfortran.h (enum gfc_omp_requires_kind): Add OMP_REQ_ATOMIC_MEM_ORDER_ACQUIRE and OMP_REQ_ATOMIC_MEM_ORDER_RELEASE. (gfc_namespace): Add a 7th bit to omp_requires. * module.cc (enum ab_attribute): Add AB_OMP_REQ_MEM_ORDER_ACQUIRE and AB_OMP_REQ_MEM_ORDER_RELEASE (mio_symbol_attribute): Handle it. * openmp.cc (gfc_omp_requires_add_clause): Update for acquire/release. (gfc_match_omp_requires): Likewise. (gfc_match_omp_atomic): Handle them for atomic_default_mem_order. * parse.cc: Likewise. gcc/testsuite/ChangeLog: * c-c++-common/gomp/requires-3.c: Update for now valid code. * gfortran.dg/gomp/requires-3.f90: Likewise. * gfortran.dg/gomp/requires-2.f90: Update dg-error. * gfortran.dg/gomp/requires-5.f90: Likewise. * c-c++-common/gomp/requires-5.c: New test. * c-c++-common/gomp/requires-6.c: New test. * c-c++-common/gomp/requires-7.c: New test. * c-c++-common/gomp/requires-8.c: New test. * gfortran.dg/gomp/requires-10.f90: New test. * gfortran.dg/gomp/requires-11.f90: New test.
Showing
- gcc/c/c-parser.cc 30 additions, 2 deletionsgcc/c/c-parser.cc
- gcc/cp/parser.cc 30 additions, 2 deletionsgcc/cp/parser.cc
- gcc/fortran/gfortran.h 13 additions, 9 deletionsgcc/fortran/gfortran.h
- gcc/fortran/module.cc 19 additions, 0 deletionsgcc/fortran/module.cc
- gcc/fortran/openmp.cc 43 additions, 10 deletionsgcc/fortran/openmp.cc
- gcc/fortran/parse.cc 8 additions, 0 deletionsgcc/fortran/parse.cc
- gcc/testsuite/c-c++-common/gomp/requires-3.c 4 additions, 4 deletionsgcc/testsuite/c-c++-common/gomp/requires-3.c
- gcc/testsuite/c-c++-common/gomp/requires-5.c 23 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/requires-5.c
- gcc/testsuite/c-c++-common/gomp/requires-6.c 23 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/requires-6.c
- gcc/testsuite/c-c++-common/gomp/requires-7.c 11 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/requires-7.c
- gcc/testsuite/c-c++-common/gomp/requires-8.c 14 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/requires-8.c
- gcc/testsuite/gfortran.dg/gomp/requires-10.f90 36 additions, 0 deletionsgcc/testsuite/gfortran.dg/gomp/requires-10.f90
- gcc/testsuite/gfortran.dg/gomp/requires-11.f90 31 additions, 0 deletionsgcc/testsuite/gfortran.dg/gomp/requires-11.f90
- gcc/testsuite/gfortran.dg/gomp/requires-2.f90 1 addition, 1 deletiongcc/testsuite/gfortran.dg/gomp/requires-2.f90
- gcc/testsuite/gfortran.dg/gomp/requires-3.f90 4 additions, 3 deletionsgcc/testsuite/gfortran.dg/gomp/requires-3.f90
- gcc/testsuite/gfortran.dg/gomp/requires-5.f90 1 addition, 1 deletiongcc/testsuite/gfortran.dg/gomp/requires-5.f90
Loading
Please register or sign in to comment