aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/openmp.c
diff options
context:
space:
mode:
authorCesar Philippidis <cesar@codesourcery.com>2018-06-05 06:58:50 -0700
committerCesar Philippidis <cesar@gcc.gnu.org>2018-06-05 06:58:50 -0700
commitab44754ea2fd101fd3393e50a4d89135d691d32e (patch)
treed29dc8c00eaec15072dbf829a2f87a9d848f4c15 /gcc/fortran/openmp.c
parentf115c9b536ee5e88ca72c94762974459e8d1cc06 (diff)
downloadgcc-ab44754ea2fd101fd3393e50a4d89135d691d32e.zip
gcc-ab44754ea2fd101fd3393e50a4d89135d691d32e.tar.gz
gcc-ab44754ea2fd101fd3393e50a4d89135d691d32e.tar.bz2
re PR fortran/85701 ([openacc] ICE in mark_scope_block_unused, at tree-ssa-live.c:364)
PR fortran/85701 gcc/fortran/ * openmp.c (gfc_resolve_oacc_declare): Error on functions and subroutine data clause arguments. gcc/testsuite/ * gfortran.dg/goacc/pr85701.f90: New test. From-SVN: r261202
Diffstat (limited to 'gcc/fortran/openmp.c')
-rw-r--r--gcc/fortran/openmp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index be80f8d..5c13312 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -5994,6 +5994,12 @@ gfc_resolve_oacc_declare (gfc_namespace *ns)
for (n = oc->clauses->lists[list]; n; n = n->next)
{
n->sym->mark = 0;
+ if (n->sym->attr.function || n->sym->attr.subroutine)
+ {
+ gfc_error ("Object %qs is not a variable at %L",
+ n->sym->name, &oc->loc);
+ continue;
+ }
if (n->sym->attr.flavor == FL_PARAMETER)
{
gfc_error ("PARAMETER object %qs is not allowed at %L",