blob: c8018a3d4c3c669455c0455e9474b8595797af9d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
! { dg-do run }
! { dg-options -Wsurprising }
integer, pointer :: p
integer, target :: t, s
! The tests for character pointers are currently commented out,
! because they don't yet work correctly.
! This is PR 17192
!!$character*5, pointer :: d
!!$character*5, target :: c, e
t = 1
p => s
! We didn't dereference the pointer in the following line.
p = f() ! { dg-warning "POINTER valued function" "" }
p = p+1
if (p.ne.2) call abort()
if (p.ne.s) call abort()
!!$! verify that we also dereference correctly the result of a function
!!$! which returns its result by reference
!!$c = "Hallo"
!!$d => e
!!$d = g() ! dg-warning "POINTER valued function" ""
!!$if (d.ne."Hallo") call abort()
contains
function f()
integer, pointer :: f
f => t
end function f
!!$function g()
!!$character, pointer :: g
!!$g => c
!!$end function g
end
|