1*456fdf85SPeter Klausler! RUN: %python %S/test_symbols.py %s %flang_fc1 2*456fdf85SPeter Klausler! References to generic functions with forward-referenced specifics. 3*456fdf85SPeter Klausler!DEF: /m Module 4*456fdf85SPeter Klauslermodule m 5*456fdf85SPeter Klauslercontains 6*456fdf85SPeter Klausler !DEF: /m/specific4 PUBLIC (Function) Subprogram INTEGER(4) 7*456fdf85SPeter Klausler !DEF: /m/specific4/x INTENT(IN) ObjectEntity INTEGER(4) 8*456fdf85SPeter Klausler integer function specific4(x) 9*456fdf85SPeter Klausler !REF: /m/specific4/x 10*456fdf85SPeter Klausler integer, intent(in) :: x(*) 11*456fdf85SPeter Klausler end function 12*456fdf85SPeter Klausler !DEF: /m/test PUBLIC (Subroutine) Subprogram 13*456fdf85SPeter Klausler !DEF: /m/test/specific1 EXTERNAL (Function) Subprogram INTEGER(4) 14*456fdf85SPeter Klausler subroutine test (specific1) 15*456fdf85SPeter Klausler !DEF: /m/test/generic (Function) Generic 16*456fdf85SPeter Klausler interface generic 17*456fdf85SPeter Klausler !REF: /m/test/specific1 18*456fdf85SPeter Klausler procedure :: specific1 19*456fdf85SPeter Klausler !DEF: /m/test/specific2 EXTERNAL, PURE (Function) Subprogram INTEGER(4) 20*456fdf85SPeter Klausler procedure :: specific2 21*456fdf85SPeter Klausler !DEF: /m/test/specific3 EXTERNAL (Function) Subprogram INTEGER(4) 22*456fdf85SPeter Klausler procedure :: specific3 23*456fdf85SPeter Klausler !DEF: /m/test/specific4 EXTERNAL (Function) Subprogram INTEGER(4) 24*456fdf85SPeter Klausler procedure :: specific4 25*456fdf85SPeter Klausler end interface 26*456fdf85SPeter Klausler interface 27*456fdf85SPeter Klausler !REF: /m/test/specific1 28*456fdf85SPeter Klausler !DEF: /m/test/specific1/x INTENT(IN) ObjectEntity INTEGER(4) 29*456fdf85SPeter Klausler integer function specific1(x) 30*456fdf85SPeter Klausler !REF: /m/test/specific1/x 31*456fdf85SPeter Klausler integer, intent(in) :: x 32*456fdf85SPeter Klausler end function 33*456fdf85SPeter Klausler !REF: /m/test/specific2 34*456fdf85SPeter Klausler !DEF: /m/test/specific2/x INTENT(IN) ObjectEntity INTEGER(4) 35*456fdf85SPeter Klausler !DEF: /m/test/specific2/y INTENT(IN) ObjectEntity INTEGER(4) 36*456fdf85SPeter Klausler pure integer function specific2(x, y) 37*456fdf85SPeter Klausler !REF: /m/test/specific2/x 38*456fdf85SPeter Klausler !REF: /m/test/specific2/y 39*456fdf85SPeter Klausler integer, intent(in) :: x, y 40*456fdf85SPeter Klausler end function 41*456fdf85SPeter Klausler !REF: /m/test/specific3 42*456fdf85SPeter Klausler !DEF: /m/test/specific3/x INTENT(IN) ObjectEntity INTEGER(4) 43*456fdf85SPeter Klausler !DEF: /m/test/specific3/y INTENT(IN) ObjectEntity INTEGER(4) 44*456fdf85SPeter Klausler integer function specific3(x, y) 45*456fdf85SPeter Klausler !REF: /m/test/generic 46*456fdf85SPeter Klausler import :: generic 47*456fdf85SPeter Klausler !REF: /m/test/specific3/x 48*456fdf85SPeter Klausler !REF: /m/test/specific3/y 49*456fdf85SPeter Klausler !REF: /m/test/specific2 50*456fdf85SPeter Klausler integer, intent(in) :: x, y(generic(1, x)) 51*456fdf85SPeter Klausler end function 52*456fdf85SPeter Klausler !REF: /m/test/specific4 53*456fdf85SPeter Klausler !DEF: /m/test/specific4/x INTENT(IN) ObjectEntity INTEGER(4) 54*456fdf85SPeter Klausler integer function specific4(x) 55*456fdf85SPeter Klausler !REF: /m/test/specific4/x 56*456fdf85SPeter Klausler integer, intent(in) :: x(:) 57*456fdf85SPeter Klausler end function 58*456fdf85SPeter Klausler end interface 59*456fdf85SPeter Klausler !REF: /m/test/specific4 60*456fdf85SPeter Klausler print *, generic([1]) 61*456fdf85SPeter Klausler end subroutine 62*456fdf85SPeter Klauslerend module 63