! RUN: %python %S/test_symbols.py %s %flang_fc1 ! Exercise generic redefinitions in inner procedures with conflicting subprograms. !DEF: /m Module module m !DEF: /m/generic PUBLIC (Subroutine) Generic interface generic !DEF: /m/specific1 PUBLIC (Subroutine) Subprogram module procedure :: specific1 end interface contains !REF: /m/specific1 subroutine specific1 print *, 1 end subroutine !DEF: /m/specific2 PUBLIC (Subroutine) Subprogram subroutine specific2 print *, 2 end subroutine !DEF: /m/test PUBLIC (Subroutine) Subprogram subroutine test !REF: /m/specific1 call generic end subroutine !DEF: /m/outer PUBLIC (Subroutine) Subprogram subroutine outer !DEF: /m/outer/inner1 (Subroutine) Subprogram call inner1 contains !REF: /m/outer/inner1 subroutine inner1 !DEF: /m/outer/inner1/generic (Subroutine) Generic interface generic !REF: /m/specific2 module procedure :: specific2 end interface !REF: /m/specific2 call generic end subroutine inner1 end subroutine outer end module m !DEF: /main MainProgram program main !REF: /m use :: m !REF: /m/specific1 call generic !DEF: /main/inner2 (Subroutine) Subprogram call inner2 contains !REF: /main/inner2 subroutine inner2 !DEF: /main/inner2/generic (Subroutine) Generic interface generic !DEF: /main/specific2 (Subroutine) Use module procedure :: specific2 end interface !REF: /main/specific2 call generic end subroutine inner2 end program