diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-01-14 00:35:16 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-01-14 15:14:43 -0800 |
| commit | d9d3be7acc660e3b587fe468f237217990423c69 (patch) | |
| tree | 9f799d267b8761821e6f85605800f1ec47480dfe /src | |
| parent | 8f57be5bffca9de896ee12d0f480ed3f474bc0a2 (diff) | |
| download | rust-d9d3be7acc660e3b587fe468f237217990423c69.tar.gz rust-d9d3be7acc660e3b587fe468f237217990423c69.zip | |
rustc: Extract the logic for generating an ICE message
Diffstat (limited to 'src')
| -rw-r--r-- | src/comp/driver/diagnostic.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/comp/driver/diagnostic.rs b/src/comp/driver/diagnostic.rs index 627ff44f5d4..3ec8a46e852 100644 --- a/src/comp/driver/diagnostic.rs +++ b/src/comp/driver/diagnostic.rs @@ -6,6 +6,7 @@ import codemap::span; export emitter, emit; export level, fatal, error, warning, note; export handler, mk_handler; +export ice_msg; type emitter = fn@(cmsp: option<(codemap::codemap, span)>, msg: str, lvl: level); @@ -70,10 +71,10 @@ impl codemap_handler of handler for codemap_t { self.emit(none, msg, note); } fn span_bug(sp: span, msg: str) -> ! { - self.span_fatal(sp, #fmt["internal compiler error %s", msg]); + self.span_fatal(sp, ice_msg(msg)); } fn bug(msg: str) -> ! { - self.fatal(#fmt["internal compiler error %s", msg]); + self.fatal(ice_msg(msg)); } fn span_unimpl(sp: span, msg: str) -> ! { self.span_bug(sp, "unimplemented " + msg); @@ -81,6 +82,10 @@ impl codemap_handler of handler for codemap_t { fn unimpl(msg: str) -> ! { self.bug("unimplemented " + msg); } } +fn ice_msg(msg: str) -> str { + #fmt["internal compiler error %s", msg] +} + fn mk_handler(cm: codemap::codemap, emitter: option<emitter>) -> handler { |
