63 lines · plain
1! RUN: %python %S/test_symbols.py %s %flang_fc12! References to generic functions with forward-referenced specifics.3!DEF: /m Module4module m5contains6 !DEF: /m/specific4 PUBLIC (Function) Subprogram INTEGER(4)7 !DEF: /m/specific4/x INTENT(IN) ObjectEntity INTEGER(4)8 integer function specific4(x)9 !REF: /m/specific4/x10 integer, intent(in) :: x(*)11 end function12 !DEF: /m/test PUBLIC (Subroutine) Subprogram13 !DEF: /m/test/specific1 EXTERNAL (Function) Subprogram INTEGER(4)14 subroutine test (specific1)15 !DEF: /m/test/generic (Function) Generic16 interface generic17 !REF: /m/test/specific118 procedure :: specific119 !DEF: /m/test/specific2 EXTERNAL, PURE (Function) Subprogram INTEGER(4)20 procedure :: specific221 !DEF: /m/test/specific3 EXTERNAL (Function) Subprogram INTEGER(4)22 procedure :: specific323 !DEF: /m/test/specific4 EXTERNAL (Function) Subprogram INTEGER(4)24 procedure :: specific425 end interface26 interface27 !REF: /m/test/specific128 !DEF: /m/test/specific1/x INTENT(IN) ObjectEntity INTEGER(4)29 integer function specific1(x)30 !REF: /m/test/specific1/x31 integer, intent(in) :: x32 end function33 !REF: /m/test/specific234 !DEF: /m/test/specific2/x INTENT(IN) ObjectEntity INTEGER(4)35 !DEF: /m/test/specific2/y INTENT(IN) ObjectEntity INTEGER(4)36 pure integer function specific2(x, y)37 !REF: /m/test/specific2/x38 !REF: /m/test/specific2/y39 integer, intent(in) :: x, y40 end function41 !REF: /m/test/specific342 !DEF: /m/test/specific3/x INTENT(IN) ObjectEntity INTEGER(4)43 !DEF: /m/test/specific3/y INTENT(IN) ObjectEntity INTEGER(4)44 integer function specific3(x, y)45 !REF: /m/test/generic46 import :: generic47 !REF: /m/test/specific3/x48 !REF: /m/test/specific3/y49 !REF: /m/test/specific250 integer, intent(in) :: x, y(generic(1, x))51 end function52 !REF: /m/test/specific453 !DEF: /m/test/specific4/x INTENT(IN) ObjectEntity INTEGER(4)54 integer function specific4(x)55 !REF: /m/test/specific4/x56 integer, intent(in) :: x(:)57 end function58 end interface59 !REF: /m/test/specific460 print *, generic([1])61 end subroutine62end module63