saltwater 0.11.0

A C compiler written in Rust, with a focus on good error messages.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
mod utils;

use saltwater::{Opt, Program, JIT};

#[test]
fn jit_readme() -> Result<(), Box<dyn std::error::Error>> {
    let _ = env_logger::try_init();
    let path = "tests/runner-tests/readme.c";
    let readme = std::fs::read_to_string(path)?;
    let Program { result: jit, .. } = JIT::from_string(readme, Opt::default());
    let code = unsafe { jit?.run_main() };
    assert_eq!(code, Some(6));
    Ok(())
}