In fact there is a strong argument to be made to undo the obsolescence of FORALL
, it is effectively just a label in the standard, and it can just as readily be removed as applied. For all the compilers worth their salt are going to support it any way!
The point in the standard about it being redundant with DO CONCURRENT
is not quite accurate. FORALL
is both a statement and a construct; the former is handy.
In this thread, I was quite tempted to suggest FORALL
but I didn’t only on account of its label in the standard:
forall (integer :: i=1:size(a)) a(i) = xx ! where xx is a valid const-expr