[Chapel Merge] dlopen: Add module code and test that loads a Chapel program

Branch: refs/heads/main
Revision: c5adab2bdc6425a5a714b57ed51cadf5d65068be
Author: dlongnecke-cray
Link: dlopen: Add module code and test that loads a Chapel program by dlongnecke-cray · Pull Request #28927 · chapel-lang/chapel · GitHub
Log Message:
dlopen: Add module code and test that loads a Chapel program (#28927)

This PR adds module code that loads and prepares a Chapel program. It
also adds a test which executes combinations of Chapel code from both
the root and loaded programs.

The test is currently marked .notest as there is some missing
functionality still required to get things working. The code in
ChapelDynamicLoading module references functions that do not yet
exist. They will be added in a subsequent PR.

TESTING

  • standard
  • COMM=gasnet

Reviewed by @benharsh. Thanks much!

Compare: Comparing 21965dc6ef6ea5318137fb14aeb4729813d31825...def11c80e23861e388443eb36459ec849b82e43f · chapel-lang/chapel · GitHub

Diff:
M modules/internal/ChapelDynamicLoading.chpl
M modules/internal/ChapelProgramRegistration.chpl
A test/dynamic-loading/ChapelLibrary.chpl
A test/dynamic-loading/ChapelLibrary.notest
A test/dynamic-loading/ChapelLibraryTestCommon.chpl
A test/dynamic-loading/ChapelLibraryTestCommon.notest
A test/dynamic-loading/LoadChapelLibrary.chpl
A test/dynamic-loading/LoadChapelLibrary.compopts
A test/dynamic-loading/LoadChapelLibrary.execopts
A test/dynamic-loading/LoadChapelLibrary.notest
A test/dynamic-loading/LoadChapelLibrary.numlocales
A test/dynamic-loading/LoadChapelLibrary.precomp
A test/dynamic-loading/LoadChapelLibrary.skipif
https://github.com/chapel-lang/chapel/pull/28927.diff