[OG9, committed] Backport error message for mapped parameters

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[OG9, committed] Backport error message for mapped parameters

Andrew Stubbs-4
I've backported this patch from mainline.

Andrew

Tweak error message for mapped parameters.

2019-07-05  Andrew Stubbs  <[hidden email]>

        gcc/fortran/
        * openmp.c (resolve_omp_clauses): Add custom error messages for
        parameters in map clauses.

diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index 1c7bce6c300..44fcb9db8c6 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -4208,8 +4208,21 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses,
   continue;
       }
   }
- gfc_error ("Object %qs is not a variable at %L", n->sym->name,
-   &n->where);
+ if (list == OMP_LIST_MAP
+    && n->sym->attr.flavor == FL_PARAMETER)
+  {
+    if (openacc)
+      gfc_error ("Object %qs is not a variable at %L; parameters"
+ " cannot be and need not be copied", n->sym->name,
+ &n->where);
+    else
+      gfc_error ("Object %qs is not a variable at %L; parameters"
+ " cannot be and need not be mapped", n->sym->name,
+ &n->where);
+  }
+ else
+  gfc_error ("Object %qs is not a variable at %L", n->sym->name,
+     &n->where);
       }
 
   for (list = 0; list < OMP_LIST_NUM; list++)