Mikael Morin wrote:
Patch is basically OK. One comment below.
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 436c160..3877711 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -3125,11 +3126,17 @@ resolve_function (gfc_expr *expr)
{
if (forall_flag)
- gfc_error ("reference to non-PURE function '%s' at %L inside a "
+ gfc_error ("Reference to non-PURE function '%s' at %L inside a "
"FORALL %s", name,&expr->where,
forall_flag == 2 ? "mask" : "block");
+ else if (do_concurrent_flag)
+ gfc_error ("Reference to non-PURE function '%s' at %L inside a "
+ "DO CONCURRENT block", name,&expr->where);
You could distinguish between mask and block here, like it is done for forall
just above
I have changed it to be in the line with FORALL.
I have also added EXEC_DO_CONCURRENT after EXEC_FORALL in
frontend-optimization.c as suggested by Thomas.
Committed as Rev. 178677.
Thanks for the thorough review!
Tobias