1! RUN: %python %S/test_symbols.py %s %flang_fc1 2! Exercise generic redefinitions in inner procedures with conflicting subprograms. 3!DEF: /m Module 4module m 5 !DEF: /m/generic PUBLIC (Subroutine) Generic 6 interface generic 7 !DEF: /m/specific1 PUBLIC (Subroutine) Subprogram 8 module procedure :: specific1 9 end interface 10contains 11 !REF: /m/specific1 12 subroutine specific1 13 print *, 1 14 end subroutine 15 !DEF: /m/specific2 PUBLIC (Subroutine) Subprogram 16 subroutine specific2 17 print *, 2 18 end subroutine 19 !DEF: /m/test PUBLIC (Subroutine) Subprogram 20 subroutine test 21 !REF: /m/specific1 22 call generic 23 end subroutine 24 !DEF: /m/outer PUBLIC (Subroutine) Subprogram 25 subroutine outer 26 !DEF: /m/outer/inner1 (Subroutine) Subprogram 27 call inner1 28 contains 29 !REF: /m/outer/inner1 30 subroutine inner1 31 !DEF: /m/outer/inner1/generic (Subroutine) Generic 32 interface generic 33 !REF: /m/specific2 34 module procedure :: specific2 35 end interface 36 !REF: /m/specific2 37 call generic 38 end subroutine inner1 39 end subroutine outer 40end module m 41!DEF: /main MainProgram 42program main 43 !REF: /m 44 use :: m 45 !REF: /m/specific1 46 call generic 47 !DEF: /main/inner2 (Subroutine) Subprogram 48 call inner2 49contains 50 !REF: /main/inner2 51 subroutine inner2 52 !DEF: /main/inner2/generic (Subroutine) Generic 53 interface generic 54 !DEF: /main/specific2 (Subroutine) Use 55 module procedure :: specific2 56 end interface 57 !REF: /main/specific2 58 call generic 59 end subroutine inner2 60end program 61