| ! { 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 "cannot have PRIVATE components" } |
| print *, t ! { dg-error "cannot have PRIVATE components" } |
| |
| print *, c_loc(get_ptr()) ! { dg-error "cannot have PRIVATE components" } |
| |
| end |