101 lines · plain
1! RUN: bbc -pft-test -o %t %s | FileCheck %s2 3module mm4 !dir$ some directive 15 type t6 logical :: tag7 contains8 final :: fin9 end type10 !dir$ some directive 211 12contains13 !dir$ some directive 314 subroutine fin(x)15 type(t), intent(inout) :: x16 x%tag =.true.17 !dir$ some directive 418 call s119 call s220 print*, 'fin', x21 22 contains23 !dir$ some directive 524 subroutine s125 print*, 's1'26 !dir$ some directive 627 end subroutine s128 29 !dir$ some directive 730 subroutine s231 !dir$ some directive 832 if (.true.) then33 !dir$ some directive 934 print*, 's2'35 !dir$ some directive 1036 endif37 !dir$ some directive 1138 end subroutine s239 !dir$ some directive 1240 end subroutine fin41 !dir$ some directive 1342end module mm43!dir$ some directive 1444 45end46 47! CHECK: Module mm: module mm48! CHECK: CompilerDirective: !some directive 149! CHECK: CompilerDirective: !some directive 250 51! CHECK: Contains52! CHECK: CompilerDirective: !some directive 353 54! CHECK: Subroutine fin: subroutine fin(x)55! CHECK: AssignmentStmt: x%tag =.true.56! CHECK: CompilerDirective: !some directive 457! CHECK: CallStmt: call s158! CHECK: CallStmt: call s259! CHECK: PrintStmt: print*, 'fin', x60! CHECK: EndSubroutineStmt: end subroutine fin61 62! CHECK: Contains63! CHECK: CompilerDirective: !some directive 564 65! CHECK: Subroutine s1: subroutine s166! CHECK: PrintStmt: print*, 's1'67! CHECK: CompilerDirective: !some directive 668! CHECK: EndSubroutineStmt: end subroutine s169! CHECK: End Subroutine s170 71! CHECK: CompilerDirective: !some directive 772 73! CHECK: Subroutine s2: subroutine s274! CHECK: CompilerDirective: !some directive 875! CHECK: <<IfConstruct>> -> 776! CHECK: IfThenStmt -> 7: if(.true.) then77! CHECK: ^CompilerDirective: !some directive 978! CHECK: PrintStmt: print*, 's2'79! CHECK: CompilerDirective: !some directive 1080! CHECK: EndIfStmt: endif81! CHECK: <<End IfConstruct>>82! CHECK: CompilerDirective: !some directive 1183! CHECK: EndSubroutineStmt: end subroutine s284! CHECK: End Subroutine s285 86! CHECK: CompilerDirective: !some directive 1287 88! CHECK: End Contains89! CHECK: End Subroutine fin90 91! CHECK: CompilerDirective: !some directive 1392 93! CHECK: End Contains94! CHECK: End Module mm95 96! CHECK: CompilerDirective: !some directive 1497 98! CHECK: Program <anonymous>99! CHECK: EndProgramStmt: end100! CHECK: End Program <anonymous>101