brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 71fecd5 Raw
35 lines · plain
1! RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic2! Confirm enforcement of constraint C723 in F2018 for procedure pointers3 4      module m5       contains6        subroutine subr(parg)7          !PORTABILITY: A dummy procedure pointer should not have assumed-length CHARACTER(*) result type [-Wportability]8          procedure(character(*)), pointer :: parg9          !ERROR: An assumed (*) type parameter may be used only for a (non-statement function) dummy argument, associate name, character named constant, or external function result10          procedure(character(*)), pointer :: plocal11          print *, parg()12          plocal => parg13          call subr_1(plocal)14        end subroutine15 16        subroutine subr_1(parg_1)17          !PORTABILITY: A dummy procedure pointer should not have assumed-length CHARACTER(*) result type [-Wportability]18          procedure(character(*)), pointer :: parg_119          print *, parg_1()20        end subroutine21      end module22 23      character(*) function f()24        f = 'abcdefgh'25      end function26 27      program test28        use m29        character(4), external :: f30        procedure(character(4)), pointer :: p31        p => f32        call subr(p)33      end34 35