diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-05-02 12:44:55 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2006-05-02 12:44:55 +0200 |
commit | 077b0dfbfe62790f11c2d173da10b80ed752f9d1 (patch) | |
tree | e7fe929b16a97446edb70447a1000494b145b0dd /gcc/ChangeLog | |
parent | 2aee3e57aed77de4f5ef28a8711b315aeb1bf77c (diff) | |
download | gcc-077b0dfbfe62790f11c2d173da10b80ed752f9d1.tar.gz |
re PR middle-end/27337 (OpenMP ICE in expand_expr_real_1 at expr.c:6814)
PR middle-end/27337
* gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
around RESULT_DECL for result passed by reference.
(gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
* omp-low.c (use_pointer_for_field): Don't look at
DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
(scan_omp_1): Call remap_decl on RESULT_DECLs.
(lower_rec_input_clauses): Don't allocate VLA memory for the second
time or var for passing by reference for
OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of
TREE_ADDRESSABLE variables when passing by reference.
* omp-low.c (dump_omp_region): Fix output formatting.
cp/
* cp-gimplify.c (cxx_omp_privatize_by_reference): New function.
* cp-tree.h (cxx_omp_privatize_by_reference): New prototype.
* cp-objcp-common.h (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Define.
testsuite/
* g++.dg/gomp/pr27337-1.C: New test.
* g++.dg/gomp/pr27337-2.C: New test.
libgomp/
* testsuite/libgomp.c++/pr27337.C: New test.
From-SVN: r113456
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9a0849a8794..f9213111d18 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,19 @@ 2006-05-02 Jakub Jelinek <jakub@redhat.com> + PR middle-end/27337 + * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF + around RESULT_DECL for result passed by reference. + (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen. + * omp-low.c (use_pointer_for_field): Don't look at + DECL_HAS_VALUE_EXPR_P for RESULT_DECLs. + (scan_omp_1): Call remap_decl on RESULT_DECLs. + (lower_rec_input_clauses): Don't allocate VLA memory for the second + time or var for passing by reference for + OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of + TREE_ADDRESSABLE variables when passing by reference. + + * omp-low.c (dump_omp_region): Fix output formatting. + PR middle-end/27328 * omp-low.c (remove_exit_barrier): Handle NULL exit_bb. (expand_omp_parallel): Likewise. |