Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/proc_ptr_comp_48.f90 @ 120:f93fa5091070
fix conv1.c
author | mir3636 |
---|---|
date | Thu, 08 Mar 2018 14:53:42 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
! { dg-do compile } ! ! PR 80046: [F03] Explicit interface required: pointer argument ! ! Contributed by Joachim Herb <joachim.herb@gmx.de> program p implicit none type :: Node_t procedure(NodeCloner), nopass, pointer :: cloneProc => NULL() procedure(), nopass, pointer :: noIfc => NULL() end type interface subroutine NodeCloner( tgt, src ) import Node_t type(Node_t), pointer, intent(out) :: tgt type(Node_t), intent(in) :: src end subroutine end interface type(Node_t) :: node procedure(NodeCloner), pointer :: cloneNode procedure(), pointer :: noIfc cloneNode => node%noIfc ! { dg-error "Explicit interface required" } node%noIfc => cloneNode ! { dg-error "Explicit interface required" } noIfc => node%cloneProc ! { dg-error "Explicit interface required" } node%cloneProc => noIfc ! { dg-error "Explicit interface required" } node%cloneProc => node%noIfc ! { dg-error "Explicit interface required" } node%noIfc => node%cloneProc ! { dg-error "Explicit interface required" } ! the following cases are legal node%noIfc => node%noIfc node%cloneProc => node%cloneProc cloneNode => node%cloneProc node%cloneProc => cloneNode noIfc => node%noIfc node%noIfc => noIfc end