diff options
-rw-r--r-- | tamer/src/bin/tameld.rs | 10 | ||||
-rw-r--r-- | tamer/src/ir/asg/mod.rs | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/tamer/src/bin/tameld.rs b/tamer/src/bin/tameld.rs index e3ca4b0..bf91e94 100644 --- a/tamer/src/bin/tameld.rs +++ b/tamer/src/bin/tameld.rs @@ -45,7 +45,15 @@ pub fn main() -> Result<(), Box<dyn Error>> { let usage = opts.usage(&format!("Usage: {} -o OUTPUT FILE", program)); match parse_options(opts, args) { - Ok(Command::Link(input, output)) => poc::main(&input, &output), + Ok(Command::Link(input, output)) => match poc::main(&input, &output) { + Err(e) => { + eprintln!("error: {}", e); + eprintln!("fatal: failed to link `{}`", output); + + std::process::exit(1); + } + ok => ok, + }, Ok(Command::Usage) => { println!("{}", usage); std::process::exit(exitcode::OK); diff --git a/tamer/src/ir/asg/mod.rs b/tamer/src/ir/asg/mod.rs index a547463..2d9bd4d 100644 --- a/tamer/src/ir/asg/mod.rs +++ b/tamer/src/ir/asg/mod.rs @@ -76,8 +76,8 @@ //! let identa_sym = interner.intern("identa"); //! let identb_sym = interner.intern("identb"); //! -//! let identa = asg.declare(identa_sym, IdentKind::Meta, Source::default())?; -//! let identb = asg.declare_extern(identb_sym, IdentKind::Meta)?; +//! let identa = asg.declare(identa_sym, IdentKind::Meta, Some(Source::default()))?; +//! let identb = asg.declare(identb_sym, IdentKind::Meta, None)?; //! //! assert_eq!( //! Some(&IdentObject::Extern(identb_sym, IdentKind::Meta)), |