! RUN: split-file %s %t ! RUN: bbc -emit-fir %t/mangling_mod_a.f90 -o - | FileCheck %s --check-prefix=FIR ! RUN: bbc -emit-fir %t/mangling_mod_b.f90 -o - | FileCheck %s --check-prefix=MANGLE ! RUN: bbc -emit-fir %t/mangling_mod_c.f90 -o - | FileCheck %s --check-prefix=MANGLE ! RUN: bbc -emit-fir %t/mangling_mod_d.f90 -o - | FileCheck %s --check-prefix=MANGLE ! FIR: module ! MANGLE: func.func private @_QPmy_sub(!fir.ref) !--- mangling_mod_a.f90 module mangling_mod_a interface subroutine my_sub(a) integer :: a end subroutine my_sub end interface ! Generic interface interface my_sub procedure :: my_sub end interface contains end module mangling_mod_a !--- mangling_mod_b.f90 module mangling_mod_b use mangling_mod_a contains subroutine my_sub2(a) integer :: a call my_sub(a) end subroutine my_sub2 end module mangling_mod_b !--- mangling_mod_c.f90 module mangling_mod_c use mangling_mod_b contains subroutine my_sub3(a) integer :: a call my_sub(a) end subroutine my_sub3 end module mangling_mod_c !--- mangling_mod_d.f90 module mangling_mod_d use mangling_mod_b use mangling_mod_c contains subroutine my_sub4(a) integer :: a call my_sub(a) end subroutine my_sub4 end module mangling_mod_d