http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50684

--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-10-12 
21:42:02 UTC ---
(In reply to comment #4)
> But should it be rejected? move_alloc does not modify the association
> status of "dt" - just of "dt%VALUE". Thus, I believe this test case is
> valid and, hence, gfortran should not reject it.

While I still think that the program is valid, I just realized that that is not
what I wrote in comment 1 - there I claimed that it is invalid.

I also realized that one shouldn't need to walk the expression (contrary to
intent(in) for nonpointer variables). Your simple

+      && !(e->symtree->n.sym->attr.pointer && e->ref))

should do. Actually, I do not quite understand why it shows an error with the
patch:
  !(attr.ptr && e->ref)
should be false as attr.ptr is true and e->ref it not NULL and hence true. Thus
the parentheses should be true, the ! makes it false. Thus, how can be there an
error message?

Reply via email to