brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · d7cfa54 Raw
51 lines · plain
1!RUN: %flang_fc1 -fdebug-unparse  %s  2>&1 | FileCheck %s2!Test inheritance of implicit rules in submodules and separate module3!procedures.4 5module m6  implicit integer(1)(a-z)7  interface8    module subroutine mp(da) ! integer(2)9      implicit integer(2)(a-z)10    end11  end interface12  save :: mv ! integer(1)13end14 15submodule(m) sm116  implicit integer(8)(a-z)17  save :: sm1v ! integer(8)18  interface19    module subroutine sm1p(da) ! default real20    end21  end interface22end23 24submodule(m:sm1) sm225  implicit integer(2)(a-c,e-z)26  save :: sm2v ! integer(2)27 contains28  module subroutine sm1p(da) ! default real29    save :: sm1pv ! inherited integer(2)30    !CHECK: PRINT *, 1_4, 8_4, 2_4, 4_4, 2_431    print *, kind(mv), kind(sm1v), kind(sm2v), kind(da), kind(sm1pv)32  end33end34 35submodule(m:sm2) sm336  implicit integer(8)(a-z)37  save :: sm3v ! integer(8)38 contains39  module procedure mp40    save :: mpv ! inherited integer(8)41    call sm1p(1.)42    !CHECK: PRINT *, 1_4, 8_4, 2_4, 8_4, 2_4, 8_443    print *, kind(mv), kind(sm1v), kind(sm2v), kind(sm3v), kind(da), kind(mpv)44  end45end46 47program main48  use m49  call mp(1_2)50end51