| ! { 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 |