This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc gcc/ChangeLog.gomp gcc/gimplify.c gcc/hook ...
- From: rth at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 24 Oct 2005 04:01:31 -0000
- Subject: gcc gcc/ChangeLog.gomp gcc/gimplify.c gcc/hook ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gomp-20050608-branch
Changes by: rth@gcc.gnu.org 2005-10-24 04:01:31
Modified files:
gcc : ChangeLog.gomp gimplify.c hooks.c hooks.h
langhooks-def.h langhooks.c langhooks.h
omp-low.c tree.h
gcc/cp : ChangeLog.gomp cp-objcp-common.h cp-tree.h
semantics.c
gcc/testsuite : ChangeLog.gomp
libgomp : ChangeLog
Added files:
gcc/testsuite/g++.dg/gomp: clause-2.C
libgomp/testsuite/libgomp.c++: ctor-1.C ctor-2.C ctor-3.C
ctor-4.C ctor-5.C
Log message:
gcc/
* gimplify.c (GOVD_SPECIALPRIVATE, GOVD_GLOBAL): Remove.
(GOVD_LASTPRIVATE, GOVD_REDUCTION): New.
(gimplify_deconstruct_omp_clauses): Use them.
(omp_add_variable): Don't elide decls with constructors.
(omp_notice_variable): Restrict SEEN propagation block to PRIVATE.
(gimplify_reconstruct_omp_clauses_1): Rebuild LASTPRIVATE clauses.
* hooks.h, hooks.c (hook_tree_tree_null): New.
* langhooks-def.h (lhd_omp_assignment): Declare.
(LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR): New.
(LANG_HOOKS_OMP_CLAUSE_COPY_CTOR): New.
(LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP): New.
(LANG_HOOKS_OMP_CLAUSE_DTOR): New.
(LANG_HOOKS_DECLS): Add them.
* langhooks.c (lhd_omp_assignment): New.
* langhooks.h (struct lang_hooks_for_decls): Add omp_clause_dtor,
omp_clause_default_ctor, omp_clause_assign_op, omp_clause_copy_ctor.
* omp-low.c (build_outer_var_ref): Remap the type to the inner context.
(scan_sharing_clauses): Use OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE.
(build_modify_expr): Remove.
(expand_rec_input_clauses): Use new langhooks; return a dtor sequence;
avoid copyin sequence for the master.
(expand_lastprivate_clauses): Use omp_clause_assign_op.
(expand_copyprivate_clauses): Likewise.
(expand_send_clauses): USe OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE.
(expand_omp_parallel): Emit dtor sequence.
(expand_omp_for_1, expand_omp_sections): Likewise.
(expand_omp_single_copy): Move expand_rec_input_clauses call ...
(expand_omp_single): ... here. Emit dtor sequence.
* tree.h (OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE): New.
gcc/cp/
* cp-objcp-common.h (LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR): New.
(LANG_HOOKS_OMP_CLAUSE_COPY_CTOR): New.
(LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP): New.
(LANG_HOOKS_OMP_CLAUSE_DTOR): New.
* semantics.c (finish_omp_clauses): Look through arrays when
looking up special member calls. Also remove FIRSTPRIVATE when
LASTPRIVATE fails.
(cxx_omp_clause_default_ctor, cxx_omp_clause_copy_ctor): New.
(cxx_omp_clause_assign_op): New.
* cp-tree.h: Declare them.
gcc/testsuite/
* g++.dg/gomp/clause-2.C: New.
libgomp/
* testsuite/libgomp.c++/ctor-1.C: New.
* testsuite/libgomp.c++/ctor-2.C: New.
* testsuite/libgomp.c++/ctor-3.C: New.
* testsuite/libgomp.c++/ctor-4.C: New.
* testsuite/libgomp.c++/ctor-5.C: New.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.gomp.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.1.6.103&r2=1.1.6.104
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gimplify.c.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=2.135.4.36&r2=2.135.4.37
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.c.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.41.4.2&r2=1.41.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.h.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.41.4.2&r2=1.41.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks-def.h.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.98.6.5&r2=1.98.6.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks.c.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.82.4.5&r2=1.82.4.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks.h.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.106.4.4&r2=1.106.4.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/omp-low.c.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.1.2.36&r2=1.1.2.37
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.735.4.24&r2=1.735.4.25
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.gomp.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.1.8.20&r2=1.1.8.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-objcp-common.h.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.9.4.2&r2=1.9.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.1144.4.16&r2=1.1144.4.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.475.4.17&r2=1.475.4.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.gomp.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.1.2.43&r2=1.1.2.44
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/gomp/clause-2.C.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgomp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.1.6.50&r2=1.1.6.51
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgomp/testsuite/libgomp.c++/ctor-1.C.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgomp/testsuite/libgomp.c++/ctor-2.C.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgomp/testsuite/libgomp.c++/ctor-3.C.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgomp/testsuite/libgomp.c++/ctor-4.C.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgomp/testsuite/libgomp.c++/ctor-5.C.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=NONE&r2=1.1.2.1