Hi, somewhere between gfortran 4.3.1 and 4.3.3/4.4.0 the following bogus warning crept in:
% cat gfcbug82.f90 module gfcbug82 implicit none type t real, pointer :: q(:) =>NULL() real, pointer :: r(:) =>NULL() end type t type (t), save :: x, y contains elemental subroutine add (q, r) real, intent (inout) :: q real, intent (in) :: r q = q + r end subroutine add subroutine foo () call add (y% q, x% r) end subroutine foo end module gfcbug82 % gfc4x -c gfcbug82.f90 gfcbug82.f90:16.16-21: call add (y% q, x% r) 1 2 Warning: INTENT(INOUT) actual argument at (1) might interfere with actual argument at (2). I don't see anything wrong with the above reduced example. -- Summary: Bogus Warning: INTENT(INOUT) actual argument might interfere with actual argument Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: anlauf at gmx dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38487