gcc/libgomp
Jakub Jelinek 8ca5b2a2d4 re PR c++/26943 ([gomp] firstprivate + lastprivate uses inefficient barrier)
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.

From-SVN: r113483
2006-05-02 22:03:38 +02:00
..
config [multiple changes] 2006-02-25 22:23:09 +01:00
testsuite re PR c++/26943 ([gomp] firstprivate + lastprivate uses inefficient barrier) 2006-05-02 22:03:38 +02:00
acinclude.m4 re PR libgomp/25865 (libgomp incorrectly detects support for TLS) 2006-04-25 13:58:25 -07:00
aclocal.m4 re PR libgomp/25865 (libgomp incorrectly detects support for TLS) 2006-04-25 13:58:25 -07:00
alloc.c
barrier.c
ChangeLog re PR c++/26943 ([gomp] firstprivate + lastprivate uses inefficient barrier) 2006-05-02 22:03:38 +02:00
config.h.in [multiple changes] 2006-02-25 22:23:09 +01:00
configure re PR libgomp/25865 (libgomp incorrectly detects support for TLS) 2006-04-25 13:58:25 -07:00
configure.ac re PR libgomp/25865 (libgomp incorrectly detects support for TLS) 2006-04-25 13:58:25 -07:00
configure.tgt re PR libgomp/25936 (libgomp needs to link against rt on HPUX) 2006-02-13 02:33:37 +00:00
critical.c
env.c
error.c
fortran.c
iter.c
libgomp_f.h.in re PR libgomp/25884 (libgomp should not require perl to compile) 2006-01-25 11:17:57 -08:00
libgomp_g.h
libgomp.h re PR libgomp/25259 (bootstrap failures on non-C99 platforms (no stdint.h)) 2006-01-24 13:06:07 -08:00
libgomp.map
libgomp.spec.in
loop.c
Makefile.am re PR libgomp/25938 (libgomp installs header files in version and target independent location) 2006-02-15 08:46:39 +01:00
Makefile.in re PR libgomp/25865 (libgomp incorrectly detects support for TLS) 2006-04-25 13:58:25 -07:00
NOTES
omp_lib.f90.in re PR libgomp/25884 (libgomp should not require perl to compile) 2006-01-25 11:17:57 -08:00
omp_lib.h.in re PR libgomp/25884 (libgomp should not require perl to compile) 2006-01-25 11:17:57 -08:00
omp.h.in re PR libgomp/25884 (libgomp should not require perl to compile) 2006-01-25 11:17:57 -08:00
ordered.c
parallel.c
sections.c
single.c
team.c re PR libgomp/25877 (team.c:269: warning: implicit declaration of function 'alloca') 2006-01-21 17:57:01 +00:00
work.c