1! { dg-do compile }
2!
3! PR fortran/37445, in which the first version of the fix regressed on the
4! calls to GetBasicElementData; picking up the local GetBasicElementData instead.
5!
6! Contributed by Norman S Clerman < clerman@fuse.net>
7! and reduced by Tobias Burnus <burnus@gcc.gnu.org>
8!
9MODULE ErrElmnt
10  IMPLICIT NONE
11  TYPE :: TErrorElement
12    integer :: i
13  end type TErrorElement
14contains
15  subroutine GetBasicData ( AnElement, ProcedureName, ErrorNumber,    &
16                            Level, Message, ReturnStat)
17    type (TErrorElement) :: AnElement
18    character (*, 1), optional ::       &
19      ProcedureName
20    integer (4), optional :: ErrorNumber
21    character (*, 1), optional :: Level
22    character (*, 1), optional :: Message
23    integer (4), optional :: ReturnStat
24  end subroutine GetBasicData
25end module ErrElmnt
26
27MODULE ErrorMod
28  USE ErrElmnt, only: GetBasicElementData => GetBasicData , TErrorElement
29  IMPLICIT NONE
30contains
31  subroutine GetBasicData ()
32    integer (4) :: CallingStat, LocalErrorNum
33    character (20, 1) :: LocalErrorMessage
34    character (20, 1) :: LocalProcName
35    character (20, 1) :: Locallevel
36    type (TErrorElement) :: AnElement
37    call GetBasicElementData (AnElement, LocalProcName, LocalErrorNum, LocalLevel, LocalErrorMessage, CallingStat)
38  end subroutine GetBasicData
39  SUBROUTINE WH_ERR ()
40    integer (4) :: ErrorNumber, CallingStat
41    character (20, 1) :: ProcedureName
42    character (20, 1) :: ErrorLevel
43    character (20, 1) :: ErrorMessage
44    type (TErrorElement) :: TargetElement
45    call GetBasicElementData (TargetElement, ProcedureName, ErrorNumber, ErrorLevel, ErrorMessage, CallingStat)
46  end subroutine WH_ERR
47end module ErrorMod
48