diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-06-18 22:55:53 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-06-19 02:41:02 -0700 |
| commit | 7fe9a88e31ae07f2fd89f6715efedd7e3edf49e6 (patch) | |
| tree | b779b74468ff2433da14c6f4e02994f4be2ab993 /src/comp/driver | |
| parent | c394a7f49ac29a099994e243017065de2ff97f2a (diff) | |
| download | rust-7fe9a88e31ae07f2fd89f6715efedd7e3edf49e6.tar.gz rust-7fe9a88e31ae07f2fd89f6715efedd7e3edf49e6.zip | |
rustc: Re-introduce session.span_err, session.err
These errors are non-fatal. The session.abort_if_errors function needs to be called at strategic points to convert the previous errors to utter failure. Issue #440
Diffstat (limited to 'src/comp/driver')
| -rw-r--r-- | src/comp/driver/rustc.rs | 2 | ||||
| -rw-r--r-- | src/comp/driver/session.rs | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/comp/driver/rustc.rs b/src/comp/driver/rustc.rs index 1094d0c7a5d..208fb5048c0 100644 --- a/src/comp/driver/rustc.rs +++ b/src/comp/driver/rustc.rs @@ -272,7 +272,7 @@ fn build_session(@session::options sopts) -> session::session { auto target_crate_num = 0; auto sess = session::session(target_crate_num, target_cfg, sopts, crate_cache, - front::codemap::new_codemap()); + front::codemap::new_codemap(), 0u); ret sess; } diff --git a/src/comp/driver/session.rs b/src/comp/driver/session.rs index e6eefcfaa56..14b8213ce3c 100644 --- a/src/comp/driver/session.rs +++ b/src/comp/driver/session.rs @@ -66,7 +66,8 @@ obj session(ast::crate_num cnum, @config targ_cfg, @options opts, map::hashmap[int, crate_metadata] crates, - codemap::codemap cm) { + codemap::codemap cm, + mutable uint err_count) { fn get_targ_cfg() -> @config { ret targ_cfg; } fn get_opts() -> @options { ret opts; } fn get_targ_crate_num() -> ast::crate_num { ret cnum; } @@ -80,6 +81,19 @@ obj session(ast::crate_num cnum, emit_diagnostic(none[span], msg, "error", 9u8, cm); fail; } + fn span_err(span sp, str msg) { + emit_diagnostic(some(sp), msg, "error", 9u8, cm); + err_count += 1u; + } + fn err(span sp, str msg) { + emit_diagnostic(some(sp), msg, "error", 9u8, cm); + err_count += 1u; + } + fn abort_if_errors() { + if (err_count > 0u) { + self.fatal("aborting due to previous errors"); + } + } fn span_warn(span sp, str msg) { // FIXME: Use constants, but rustboot doesn't know how to export them. |
