| ! { dg-do compile } |
| ! |
| ! Tests correction to implementation of pointer function assignments. |
| ! |
| ! Contributed by Mikael Morin <mikael.morin@sfr.fr> |
| ! |
| program p |
| integer, target :: a(3) = 2 |
| integer :: b(3, 3) = 1 |
| integer :: c |
| |
| c = 3 |
| func (b(2, 2)) = b ! { dg-error "Incompatible ranks 1 and 2 in assignment" } |
| func (c) = b ! { dg-error "Incompatible ranks 1 and 2 in assignment" } |
| |
| contains |
| function func(arg) result(r) |
| integer, pointer :: r(:) |
| integer :: arg |
| |
| if (arg == 1) then |
| r => a |
| else |
| r => null() |
| end if |
| end function func |
| end program p |