-
- Downloads
openmp: Allow private or firstprivate arguments to default clause even for C/C++
OpenMP 5.1 allows default(private) or default(firstprivate) even in C/C++, but it behaves the same way as in Fortran only for variables not declared at namespace or file scope. For the namespace/file scope variables it instead behaves as default(none). 2021-09-18 Jakub Jelinek <jakub@redhat.com> gcc/ * gimplify.c (omp_default_clause): For C/C++ default({,first}private), if file/namespace scope variable doesn't have predetermined sharing, treat it as if there was default(none). gcc/c/ * c-parser.c (c_parser_omp_clause_default): Handle private and firstprivate arguments, adjust diagnostics on unknown argument. gcc/cp/ * parser.c (cp_parser_omp_clause_default): Handle private and firstprivate arguments, adjust diagnostics on unknown argument. * cp-gimplify.c (cxx_omp_finish_clause): Handle OMP_CLAUSE_PRIVATE. gcc/testsuite/ * c-c++-common/gomp/default-2.c: New test. * c-c++-common/gomp/default-3.c: New test. * g++.dg/gomp/default-1.C: New test. libgomp/ * testsuite/libgomp.c++/default-1.C: New test. * testsuite/libgomp.c-c++-common/default-1.c: New test. * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument to default clause in C and C++" as implemented.
Showing
- gcc/c/c-parser.c 22 additions, 3 deletionsgcc/c/c-parser.c
- gcc/cp/cp-gimplify.c 3 additions, 1 deletiongcc/cp/cp-gimplify.c
- gcc/cp/parser.c 17 additions, 2 deletionsgcc/cp/parser.c
- gcc/gimplify.c 12 additions, 0 deletionsgcc/gimplify.c
- gcc/testsuite/c-c++-common/gomp/default-2.c 67 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/default-2.c
- gcc/testsuite/c-c++-common/gomp/default-3.c 14 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/default-3.c
- gcc/testsuite/g++.dg/gomp/default-1.C 112 additions, 0 deletionsgcc/testsuite/g++.dg/gomp/default-1.C
- libgomp/libgomp.texi 1 addition, 1 deletionlibgomp/libgomp.texi
- libgomp/testsuite/libgomp.c++/default-1.C 29 additions, 0 deletionslibgomp/testsuite/libgomp.c++/default-1.C
- libgomp/testsuite/libgomp.c-c++-common/default-1.c 25 additions, 0 deletionslibgomp/testsuite/libgomp.c-c++-common/default-1.c
Loading
Please register or sign in to comment