diff options
author | Jakub Jelinek <jakub@redhat.com> | 2015-11-11 16:09:23 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2015-11-11 16:09:23 +0000 |
commit | 3337b5d44e5b0769949f26d0750b2edd1e82c6a8 (patch) | |
tree | bdc685e2456b814322e0522204427a3436a2214c | |
parent | 7aa4572fa939e0ad826c867af32df6fcce794ae3 (diff) |
c/
* c-typeck.c (c_finish_omp_clauses): Don't mark
GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
cp/
* semantics.c (finish_omp_clauses): Don't mark
GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gomp-4_5-branch@230180 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/c/ChangeLog.gomp | 5 | ||||
-rw-r--r-- | gcc/c/c-typeck.c | 5 | ||||
-rw-r--r-- | gcc/cp/ChangeLog.gomp | 5 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 3 |
4 files changed, 17 insertions, 1 deletions
diff --git a/gcc/c/ChangeLog.gomp b/gcc/c/ChangeLog.gomp index 4f8bfbb9f23..32f1293c092 100644 --- a/gcc/c/ChangeLog.gomp +++ b/gcc/c/ChangeLog.gomp @@ -1,3 +1,8 @@ +2015-11-11 Jakub Jelinek <jakub@redhat.com> + + * c-typeck.c (c_finish_omp_clauses): Don't mark + GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable. + 2015-11-05 Jakub Jelinek <jakub@redhat.com> * c-typeck.c (c_finish_omp_clauses): Formatting fix. diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c index 2080db95ebc..82de75cc367 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -12855,7 +12855,10 @@ c_finish_omp_clauses (tree clauses, bool is_omp, bool declare_simd) omp_clause_code_name[OMP_CLAUSE_CODE (c)]); remove = true; } - else if (!c_mark_addressable (t)) + else if ((OMP_CLAUSE_CODE (c) != OMP_CLAUSE_MAP + || (OMP_CLAUSE_MAP_KIND (c) + != GOMP_MAP_FIRSTPRIVATE_POINTER)) + && !c_mark_addressable (t)) remove = true; else if (!(OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP && (OMP_CLAUSE_MAP_KIND (c) == GOMP_MAP_POINTER diff --git a/gcc/cp/ChangeLog.gomp b/gcc/cp/ChangeLog.gomp index f4756b4a88f..5888fddb660 100644 --- a/gcc/cp/ChangeLog.gomp +++ b/gcc/cp/ChangeLog.gomp @@ -1,3 +1,8 @@ +2015-11-11 Jakub Jelinek <jakub@redhat.com> + + * semantics.c (finish_omp_clauses): Don't mark + GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable. + 2015-11-05 Jakub Jelinek <jakub@redhat.com> * parser.c (cp_parser_omp_target_data, diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 7702a418b5b..5a1c4ebd672 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -6566,6 +6566,9 @@ finish_omp_clauses (tree clauses, bool allow_fields, bool declare_simd) } else if (!processing_template_decl && TREE_CODE (TREE_TYPE (t)) != REFERENCE_TYPE + && (OMP_CLAUSE_CODE (c) != OMP_CLAUSE_MAP + || (OMP_CLAUSE_MAP_KIND (c) + != GOMP_MAP_FIRSTPRIVATE_POINTER)) && !cxx_mark_addressable (t)) remove = true; else if (!(OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP |