61 lines · plain
1! RUN: %python %S/test_symbols.py %s %flang_fc12! Exercise generic redefinitions in inner procedures with conflicting subprograms.3!DEF: /m Module4module m5 !DEF: /m/generic PUBLIC (Subroutine) Generic6 interface generic7 !DEF: /m/specific1 PUBLIC (Subroutine) Subprogram8 module procedure :: specific19 end interface10contains11 !REF: /m/specific112 subroutine specific113 print *, 114 end subroutine15 !DEF: /m/specific2 PUBLIC (Subroutine) Subprogram16 subroutine specific217 print *, 218 end subroutine19 !DEF: /m/test PUBLIC (Subroutine) Subprogram20 subroutine test21 !REF: /m/specific122 call generic23 end subroutine24 !DEF: /m/outer PUBLIC (Subroutine) Subprogram25 subroutine outer26 !DEF: /m/outer/inner1 (Subroutine) Subprogram27 call inner128 contains29 !REF: /m/outer/inner130 subroutine inner131 !DEF: /m/outer/inner1/generic (Subroutine) Generic32 interface generic33 !REF: /m/specific234 module procedure :: specific235 end interface36 !REF: /m/specific237 call generic38 end subroutine inner139 end subroutine outer40end module m41!DEF: /MAIN MainProgram42program MAIN43 !REF: /m44 use :: m45 !REF: /m/specific146 call generic47 !DEF: /MAIN/inner2 (Subroutine) Subprogram48 call inner249contains50 !REF: /MAIN/inner251 subroutine inner252 !DEF: /MAIN/inner2/generic (Subroutine) Generic53 interface generic54 !DEF: /MAIN/specific2 (Subroutine) Use55 module procedure :: specific256 end interface57 !REF: /MAIN/specific258 call generic59 end subroutine inner260end program61