https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80304
--- Comment #6 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
The *.original dump shows ANNOTATE_EXPRs:
if (ANNOTATE_EXPR <count.3 <= 0, ivdep>) goto L.3;
i.0 = 0;
count.2 = 2;
while (1)
{
if (ANNOTATE_EXPR <count.2 <= 0, ivdep>) goto L.2;
These were added in r204023, three years ago, so this is
not a recent change.
gcc 6 does not show this behavior, so it is very likely that
a recent change made this a bug (or exposed a latent bug).
Hmm... changing INTENT(IN) to VALUE makes the bug go away.
Something to do with inlining functions which pass index
variables of DO CONCURRENT by reference?