view gcc/testsuite/gfortran.dg/elemental_dependency_2.f90 @ 128:fe568345ddd5

fix CbC-example
author mir3636
date Wed, 11 Apr 2018 19:32:28 +0900
parents 04ced10e8804
children
line wrap: on
line source

! { dg-do compile }
!
! PR fortran/38487
! Spurious warning on pointers as elemental subroutine actual arguments
!
! Contributed by Harald Anlauf <anlauf@gmx.de>

module gfcbug82
  implicit none
  type t
    real, pointer :: q(:) =>NULL()
    real, pointer :: r(:) =>NULL()
  end type t
  type (t), save :: x, y
  real, dimension(:), pointer, save :: a => NULL(), b => NULL()
  real, save :: c(5), d
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)
      call add (y% q, b   )
      call add (a   , x% r)
      call add (a   , b   )
      call add (y% q, d   )
      call add (a   , d   )
      call add (c   , x% r)
      call add (c   , b   )
  end subroutine foo
end module gfcbug82