[Patch, Fortran] PR44646 - Add parser support for DO CONCURRENT

Tobias Burnus burnus@net-b.de
Thu Sep 8 06:41:00 GMT 2011


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



More information about the Fortran mailing list