Skip to content

Commit d9d3be7

Browse files
committed
rustc: Extract the logic for generating an ICE message
1 parent 8f57be5 commit d9d3be7

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/comp/driver/diagnostic.rs

+7-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import codemap::span;
66
export emitter, emit;
77
export level, fatal, error, warning, note;
88
export handler, mk_handler;
9+
export ice_msg;
910

1011
type emitter = fn@(cmsp: option<(codemap::codemap, span)>,
1112
msg: str, lvl: level);
@@ -70,17 +71,21 @@ impl codemap_handler of handler for codemap_t {
7071
self.emit(none, msg, note);
7172
}
7273
fn span_bug(sp: span, msg: str) -> ! {
73-
self.span_fatal(sp, #fmt["internal compiler error %s", msg]);
74+
self.span_fatal(sp, ice_msg(msg));
7475
}
7576
fn bug(msg: str) -> ! {
76-
self.fatal(#fmt["internal compiler error %s", msg]);
77+
self.fatal(ice_msg(msg));
7778
}
7879
fn span_unimpl(sp: span, msg: str) -> ! {
7980
self.span_bug(sp, "unimplemented " + msg);
8081
}
8182
fn unimpl(msg: str) -> ! { self.bug("unimplemented " + msg); }
8283
}
8384

85+
fn ice_msg(msg: str) -> str {
86+
#fmt["internal compiler error %s", msg]
87+
}
88+
8489
fn mk_handler(cm: codemap::codemap,
8590
emitter: option<emitter>) -> handler {
8691

0 commit comments

Comments
 (0)