1! { dg-do compile }
2! This tests the fix for PR24866 in which the reference to the external str, in
3! sub_module, would get mixed up with the module procedure, str, thus
4! causing an ICE.  This is a completed version of the reporter's testcase; ie
5! it adds a main program and working subroutines to allow a check for
6! correct functioning.
7!
8! Contributed by Uttam Pawar  <uttamp@us.ibm.com>
9!
10   subroutine sub()
11     print *, "external sub"
12   end subroutine sub
13
14module test_module
15 contains
16   subroutine sub_module(str)
17     external :: str
18     call str ()
19   end subroutine sub_module
20   subroutine str()
21     print *, "module str"
22   end subroutine str
23end module test_module
24
25   use test_module
26   external sub
27   call sub_module (sub)
28   call sub_module (str)
29end
30