summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/pr32601.f03
blob: 90fa6b3f4127e218f2dcd253b5a7ec4fcc604708 (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
! { dg-do compile }
! { dg-options "-std=f2003" }
! PR fortran/32601
module pr32601
use, intrinsic :: iso_c_binding, only: c_int
contains
  function get_ptr()
    integer(c_int), pointer :: get_ptr
    integer(c_int), target :: x
    get_ptr = x
  end function get_ptr
end module pr32601

USE ISO_C_BINDING, only: c_null_ptr, c_ptr, c_loc
use pr32601
implicit none

type(c_ptr) :: t
t = c_null_ptr

! Next two lines should be errors if -pedantic or -std=f2003
print *, c_null_ptr, t  ! { dg-error "has PRIVATE components" }
print *, t ! { dg-error "has PRIVATE components" }

print *, c_loc(get_ptr()) ! { dg-error "has PRIVATE components" }

end
! { dg-final { cleanup-modules "pr32601" } }