Retro68/gcc/libphobos/testsuite/libphobos.shared/load_linkdep.d
Wolfgang Thaller 6fbf4226da gcc-9.1
2019-06-20 20:10:10 +02:00

19 lines
478 B
D

import core.runtime;
import core.stdc.string;
import core.sys.posix.dlfcn;
extern(C) alias RunDepTests = int function();
void main(string[] args)
{
auto name = args[0] ~ '\0';
const pathlen = strrchr(name.ptr, '/') - name.ptr + 1;
name = name[0 .. pathlen] ~ "liblinkdep.so";
auto h = Runtime.loadLibrary(name);
assert(h);
auto runDepTests = cast(RunDepTests)dlsym(h, "runDepTests");
assert(runDepTests());
assert(Runtime.unloadLibrary(h));
}