31 lines
608 B
C++
31 lines
608 B
C++
//! The RustPP runtime
|
|
|
|
#include "panic.hh"
|
|
#define I_AM_RUSTPP_RUNTIME
|
|
#include <print>
|
|
|
|
#include "rust.hh"
|
|
|
|
namespace {
|
|
slice::Slice<Cstr> program_args = {};
|
|
}
|
|
|
|
fn main (int argc, char **argv) -> int {
|
|
int exitcode = 0;
|
|
program_args = { (Cstr *) argv, (usize) argc };
|
|
try {
|
|
exitcode = rustpp__main();
|
|
} catch (panic::Panic p) {
|
|
std::println("Thread exited with explicit panic: {}", p.what());
|
|
exitcode = -1;
|
|
}
|
|
return exitcode;
|
|
}
|
|
|
|
// Environment
|
|
namespace env {
|
|
fn args () -> slice::Slice<Cstr> {
|
|
return program_args;
|
|
}
|
|
} // namespace env
|