Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

51 lines
963 B
Plaintext

# @TEST-EXEC: ${HILTIC} -P "" -o Foo.h %INPUT
# @TEST-EXEC: ${HILTIC} -j -D compiler,jit %INPUT driver.cc >output
# @TEST-EXEC: btest-diff output
module Foo {
import hilti;
function extern string test(string x) {
hilti::print("HILTI - 1 - argument: ", False);
hilti::print(x);
yield;
hilti::print("HILTI - 2");
yield;
hilti::print("HILTI - 3");
yield;
hilti::print("HILTI - Done");
return "test-result";
}
}
@TEST-START-FILE driver.cc
#include <hilti/rt/libhilti.h>
#include "Foo.h"
extern "C" int HILTI_EXPORT hilti_main() { // Point of entry for JIT
auto r = hlt::Foo::test("argument");
while ( ! r ) {
std::cout << "suspended, resuming" << std::endl;
r.resume();
}
std::cout << "Done, result: " << r.get<std::string>() << std::endl;
return 0;
}
int main(int argc, char** argv) {
hilti::rt::init();
hilti_main();
hilti::rt::done();
return 0;
}
@TEST-END-FILE