PR c++/26943
commitf49d7bb59a7a1e21e1de1a78d832b4ea4b218b3d
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 May 2006 20:03:38 +0000 (2 20:03 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 May 2006 20:03:38 +0000 (2 20:03 +0000)
treeeb02e1dd8220b3599be8ae1486c225f960b5ccf3
parentd067645d609b3617e0943295c1addea34d8fc223
PR c++/26943
* omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
(build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
to find if var will be a global variable even in the nested context.
(omp_copy_decl): Only check for global variable at the end, it might
be overridden in outer contexts.
(scan_sharing_clauses): For global variables don't create a field.
(lower_rec_input_clauses): Do nothing for global shared variables.
Emit a barrier at the end of ILIST if there were any decls in both
firstprivate and lastprivate clauses.
(lower_send_clauses): Do nothing for global variables except for
COPYIN.

* testsuite/libgomp.c/pr26943-1.c: New test.
* testsuite/libgomp.c/pr26943-2.c: New test.
* testsuite/libgomp.c/pr26943-3.c: New test.
* testsuite/libgomp.c/pr26943-4.c: New test.
* testsuite/libgomp.c++/pr27337.C: Remove barrier.
* testsuite/libgomp.c++/pr26943.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113483 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/omp-low.c
libgomp/ChangeLog
libgomp/testsuite/libgomp.c++/pr26943.C [new file with mode: 0644]
libgomp/testsuite/libgomp.c++/pr27337.C
libgomp/testsuite/libgomp.c/pr26943-1.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c/pr26943-2.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c/pr26943-3.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c/pr26943-4.c [new file with mode: 0644]