brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · ad00214 Raw
43 lines · plain
1! RUN: %python %S/test_symbols.py %s %flang_fc12! Ensure that SMPs work with dummy procedures declared as interfaces3!DEF: /m Module4module m5 implicit none6 interface7  !DEF: /m/smp MODULE, PUBLIC, PURE (Function) Subprogram REAL(4)8  !DEF: /m/smp/f EXTERNAL, PURE (Function) Subprogram REAL(4)9  !DEF: /m/smp/x INTENT(IN) ObjectEntity REAL(4)10  !DEF: /m/smp/res ObjectEntity REAL(4)11  pure module function smp(f, x) result(res)12  !REF: /m/smp/res13  real res14   interface15    !REF: /m/smp/f16    !DEF: /m/smp/f/x INTENT(IN) ObjectEntity REAL(4)17    !DEF: /m/smp/f/r ObjectEntity REAL(4)18    pure function f(x) result(r)19     !REF: /m/smp/f/x20     real, intent(in) :: x21     !REF: /m/smp/f/r22     real r23    end function24   end interface25   !REF: /m/smp/x26   real, intent(in) :: x27  end function28 end interface29end module30!REF: /m31!DEF: /m/sm Module32submodule (m)sm33 implicit none34contains35 !DEF: /m/sm/smp MODULE, PUBLIC, PURE (Function) Subprogram REAL(4)36 module procedure smp37  !DEF: /m/sm/smp/res ObjectEntity REAL(4)38  !DEF: /m/sm/smp/f EXTERNAL, PURE (Function) Subprogram REAL(4)39  !DEF: /m/sm/smp/x INTENT(IN) ObjectEntity REAL(4)40  res = f(x)41 end procedure42end submodule43