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

Reply via email to