On Thu, Nov 19, 2015 at 08:26:45AM -0800, Cesar Philippidis wrote:
> (gfc_oacc_routine_name): New struct;
Full stop instead of semicolon.
> diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c
> index 1f6311c..e321072 100644
> --- a/gcc/tree-nested.c
> +++ b/gcc/tree-nested.c
> @@ -1106,6 +1106,9 @@ convert_nonlocal_omp_clauses (tree *pclauses, struct
> walk_stmt_info *wi)
> case OMP_CLAUSE_NUM_TASKS:
> case OMP_CLAUSE_HINT:
> case OMP_CLAUSE__CILK_FOR_COUNT_:
> + case OMP_CLAUSE_NUM_GANGS:
> + case OMP_CLAUSE_NUM_WORKERS:
> + case OMP_CLAUSE_VECTOR_LENGTH:
> wi->val_only = true;
> wi->is_lhs = false;
> convert_nonlocal_reference_op (&OMP_CLAUSE_OPERAND (clause, 0),
> @@ -1173,6 +1176,10 @@ convert_nonlocal_omp_clauses (tree *pclauses, struct
> walk_stmt_info *wi)
> case OMP_CLAUSE_THREADS:
> case OMP_CLAUSE_SIMD:
> case OMP_CLAUSE_DEFAULTMAP:
> + case OMP_CLAUSE_GANG:
> + case OMP_CLAUSE_WORKER:
> + case OMP_CLAUSE_VECTOR:
This looks wrong. OMP_CLAUSE_GANG has 2 arguments, OMP_CLAUSE_WORKER and
OMP_CLAUSE_VECTOR one argument, if you use a non-local decl or local decl
that is referenced by a nested routine in those operands, it won't be
handled properly.
> @@ -1830,6 +1840,10 @@ convert_local_omp_clauses (tree *pclauses, struct
> walk_stmt_info *wi)
> case OMP_CLAUSE_THREADS:
> case OMP_CLAUSE_SIMD:
> case OMP_CLAUSE_DEFAULTMAP:
> + case OMP_CLAUSE_GANG:
> + case OMP_CLAUSE_WORKER:
> + case OMP_CLAUSE_VECTOR:
> + case OMP_CLAUSE_SEQ:
Ditto.
Otherwise LGTM.
Jakub