This is an archive of the discontinued LLVM Phabricator instance.

[flang] Separate module procedure variant
ClosedPublic

Authored by vdonaldson on Aug 15 2023, 4:36 PM.

Details

Summary

Accept "module procedure" (as well as module function/subroutine)
in a separate module procedure definition, such as "bb1" in:

module mm
  interface
    module subroutine mm1
    end subroutine
  end interface
end module

submodule(mm) bb
  interface
    module subroutine bb1
    end subroutine
  end interface
contains
  module procedure mm1
    call bb1
  end procedure
  module procedure bb1
    print*, 'bb1'
  end procedure
end submodule

  use mm
  call mm1
end

Diff Detail

Event Timeline

vdonaldson created this revision.Aug 15 2023, 4:36 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 15 2023, 4:36 PM
vdonaldson requested review of this revision.Aug 15 2023, 4:36 PM
PeteSteinfeld accepted this revision.Aug 16 2023, 6:34 AM

All builds and tests correctly and looks good.

This revision is now accepted and ready to land.Aug 16 2023, 6:34 AM