Skip to content

Commit df7520e

Browse files
committed
---
yaml --- r: 3252 b: refs/heads/master c: cf9ed08 h: refs/heads/master v: v3
1 parent 4cef5b6 commit df7520e

File tree

17 files changed

+192
-450
lines changed

17 files changed

+192
-450
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 4255d58aa5db2a05362c4435a0e807205e1b8ed7
2+
refs/heads/master: cf9ed08a5091733b6b0c6cc38e53542b05e8dd04

trunk/src/comp/back/link.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ tag output_type {
3333
fn llvm_err(session::session sess, str msg) {
3434
auto buf = llvm::LLVMRustGetLastError();
3535
if (buf as uint == 0u) {
36-
sess.fatal(msg);
37-
} else { sess.fatal(msg + ": " + str::str_from_cstr(buf)); }
36+
sess.err(msg);
37+
} else { sess.err(msg + ": " + str::str_from_cstr(buf)); }
3838
fail;
3939
}
4040

@@ -276,7 +276,7 @@ fn get_crate_meta_export(&session::session sess, &ast::crate c, str k,
276276
}
277277
case (1u) { ret v.(0).node.value; }
278278
case (_) {
279-
sess.span_fatal(v.(1).span, #fmt("duplicate meta '%s'", k));
279+
sess.span_err(v.(1).span, #fmt("duplicate meta '%s'", k));
280280
}
281281
}
282282
}

trunk/src/comp/driver/rustc.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ fn parse_input(session::session sess, parser::parser p, str input) ->
5959
parser::parse_crate_from_crate_file(p)
6060
} else if (str::ends_with(input, ".rs")) {
6161
parser::parse_crate_from_source_file(p)
62-
} else { sess.fatal("unknown input file type: " + input); fail };
62+
} else { sess.err("unknown input file type: " + input); fail };
6363
}
6464

6565
fn time[T](bool do_it, str what, fn() -> T thunk) -> T {
@@ -272,7 +272,7 @@ fn build_session(@session::options sopts) -> session::session {
272272
auto target_crate_num = 0;
273273
auto sess =
274274
session::session(target_crate_num, target_cfg, sopts, crate_cache,
275-
front::codemap::new_codemap(), 0u);
275+
front::codemap::new_codemap());
276276
ret sess;
277277
}
278278

@@ -282,7 +282,7 @@ fn parse_pretty(session::session sess, &str name) -> pp_mode {
282282
} else if (str::eq(name, "typed")) {
283283
ret ppm_typed;
284284
} else if (str::eq(name, "identified")) { ret ppm_identified; }
285-
sess.fatal("argument to `pretty` must be one of `normal`, `typed`, or " +
285+
sess.err("argument to `pretty` must be one of `normal`, `typed`, or " +
286286
"`identified`");
287287
}
288288

@@ -321,16 +321,16 @@ fn main(vec[str] args) {
321321
auto glue = opt_present(match, "glue");
322322
if (glue) {
323323
if (n_inputs > 0u) {
324-
sess.fatal("No input files allowed with --glue.");
324+
sess.err("No input files allowed with --glue.");
325325
}
326326
auto out = option::from_maybe[str]("glue.bc", output_file);
327327
middle::trans::make_common_glue(sess, out);
328328
ret;
329329
}
330330
if (n_inputs == 0u) {
331-
sess.fatal("No input filename given.");
331+
sess.err("No input filename given.");
332332
} else if (n_inputs > 1u) {
333-
sess.fatal("Multiple input filenames provided.");
333+
sess.err("Multiple input filenames provided.");
334334
}
335335
auto ifile = match.free.(0);
336336
let str saved_out_filename = "";

trunk/src/comp/driver/session.rs

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -66,34 +66,20 @@ obj session(ast::crate_num cnum,
6666
@config targ_cfg,
6767
@options opts,
6868
map::hashmap[int, crate_metadata] crates,
69-
codemap::codemap cm,
70-
mutable uint err_count) {
69+
codemap::codemap cm) {
7170
fn get_targ_cfg() -> @config { ret targ_cfg; }
7271
fn get_opts() -> @options { ret opts; }
7372
fn get_targ_crate_num() -> ast::crate_num { ret cnum; }
74-
fn span_fatal(span sp, str msg) -> ! {
73+
fn span_err(span sp, str msg) -> ! {
7574
// FIXME: Use constants, but rustboot doesn't know how to export them.
7675

7776
emit_diagnostic(some(sp), msg, "error", 9u8, cm);
7877
fail;
7978
}
80-
fn fatal(str msg) -> ! {
79+
fn err(str msg) -> ! {
8180
emit_diagnostic(none[span], msg, "error", 9u8, cm);
8281
fail;
8382
}
84-
fn span_err(span sp, str msg) {
85-
emit_diagnostic(some(sp), msg, "error", 9u8, cm);
86-
err_count += 1u;
87-
}
88-
fn err(span sp, str msg) {
89-
emit_diagnostic(some(sp), msg, "error", 9u8, cm);
90-
err_count += 1u;
91-
}
92-
fn abort_if_errors() {
93-
if (err_count > 0u) {
94-
self.fatal("aborting due to previous errors");
95-
}
96-
}
9783
fn span_warn(span sp, str msg) {
9884
// FIXME: Use constants, but rustboot doesn't know how to export them.
9985

@@ -108,10 +94,10 @@ obj session(ast::crate_num cnum,
10894
emit_diagnostic(some(sp), msg, "note", 10u8, cm);
10995
}
11096
fn span_bug(span sp, str msg) -> ! {
111-
self.span_fatal(sp, #fmt("internal compiler error %s", msg));
97+
self.span_err(sp, #fmt("internal compiler error %s", msg));
11298
}
11399
fn bug(str msg) -> ! {
114-
self.fatal(#fmt("internal compiler error %s", msg));
100+
self.err(#fmt("internal compiler error %s", msg));
115101
}
116102
fn span_unimpl(span sp, str msg) -> ! {
117103
self.span_bug(sp, "unimplemented " + msg);

trunk/src/comp/front/eval.rs

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ fn lookup(session::session sess, env e, span sp, ident i) -> val {
6363
for (tup(ident, val) pair in e) {
6464
if (str::eq(i, pair._0)) { ret pair._1; }
6565
}
66-
sess.span_fatal(sp, "unknown variable: " + i)
66+
sess.span_err(sp, "unknown variable: " + i)
6767
}
6868

6969
fn eval_lit(ctx cx, span sp, @ast::lit lit) -> val {
7070
alt (lit.node) {
7171
case (ast::lit_bool(?b)) { val_bool(b) }
7272
case (ast::lit_int(?i)) { val_int(i) }
7373
case (ast::lit_str(?s, _)) { val_str(s) }
74-
case (_) { cx.sess.span_fatal(sp, "evaluating unsupported literal") }
74+
case (_) { cx.sess.span_err(sp, "evaluating unsupported literal") }
7575
}
7676
}
7777

@@ -82,18 +82,18 @@ fn eval_expr(ctx cx, env e, @ast::expr x) -> val {
8282
vec::len[@ast::ty](pth.node.types) == 0u) {
8383
ret lookup(cx.sess, e, x.span, pth.node.idents.(0));
8484
}
85-
cx.sess.span_fatal(x.span, "evaluating structured path-name");
85+
cx.sess.span_err(x.span, "evaluating structured path-name");
8686
}
8787
case (ast::expr_lit(?lit, _)) { ret eval_lit(cx, x.span, lit); }
8888
case (ast::expr_unary(?op, ?a, _)) {
8989
auto av = eval_expr(cx, e, a);
9090
alt (op) {
9191
case (ast::not) {
9292
if (val_is_bool(av)) { ret val_bool(!val_as_bool(av)); }
93-
cx.sess.span_fatal(x.span, "bad types in '!' expression");
93+
cx.sess.span_err(x.span, "bad types in '!' expression");
9494
}
9595
case (_) {
96-
cx.sess.span_fatal(x.span, "evaluating unsupported unop");
96+
cx.sess.span_err(x.span, "evaluating unsupported unop");
9797
}
9898
}
9999
}
@@ -108,45 +108,43 @@ fn eval_expr(ctx cx, env e, @ast::expr x) -> val {
108108
if (val_is_str(av) && val_is_str(bv)) {
109109
ret val_str(val_as_str(av) + val_as_str(bv));
110110
}
111-
cx.sess.span_fatal(x.span, "bad types in '+' expression");
111+
cx.sess.span_err(x.span, "bad types in '+' expression");
112112
}
113113
case (ast::sub) {
114114
if (val_is_int(av) && val_is_int(bv)) {
115115
ret val_int(val_as_int(av) - val_as_int(bv));
116116
}
117-
cx.sess.span_fatal(x.span, "bad types in '-' expression");
117+
cx.sess.span_err(x.span, "bad types in '-' expression");
118118
}
119119
case (ast::mul) {
120120
if (val_is_int(av) && val_is_int(bv)) {
121121
ret val_int(val_as_int(av) * val_as_int(bv));
122122
}
123-
cx.sess.span_fatal(x.span, "bad types in '*' expression");
123+
cx.sess.span_err(x.span, "bad types in '*' expression");
124124
}
125125
case (ast::div) {
126126
if (val_is_int(av) && val_is_int(bv)) {
127127
ret val_int(val_as_int(av) / val_as_int(bv));
128128
}
129-
cx.sess.span_fatal(x.span, "bad types in '/' expression");
129+
cx.sess.span_err(x.span, "bad types in '/' expression");
130130
}
131131
case (ast::rem) {
132132
if (val_is_int(av) && val_is_int(bv)) {
133133
ret val_int(val_as_int(av) % val_as_int(bv));
134134
}
135-
cx.sess.span_fatal(x.span, "bad types in '%' expression");
135+
cx.sess.span_err(x.span, "bad types in '%' expression");
136136
}
137137
case (ast::and) {
138138
if (val_is_bool(av) && val_is_bool(bv)) {
139139
ret val_bool(val_as_bool(av) && val_as_bool(bv));
140140
}
141-
cx.sess.span_fatal(x.span,
142-
"bad types in '&&' expression");
141+
cx.sess.span_err(x.span, "bad types in '&&' expression");
143142
}
144143
case (ast::or) {
145144
if (val_is_bool(av) && val_is_bool(bv)) {
146145
ret val_bool(val_as_bool(av) || val_as_bool(bv));
147146
}
148-
cx.sess.span_fatal(x.span,
149-
"bad types in '||' expression");
147+
cx.sess.span_err(x.span, "bad types in '||' expression");
150148
}
151149
case (ast::eq) {
152150
ret val_bool(val_eq(cx.sess, x.span, av, bv));
@@ -155,13 +153,12 @@ fn eval_expr(ctx cx, env e, @ast::expr x) -> val {
155153
ret val_bool(!val_eq(cx.sess, x.span, av, bv));
156154
}
157155
case (_) {
158-
cx.sess.span_fatal(x.span,
159-
"evaluating unsupported binop");
156+
cx.sess.span_err(x.span, "evaluating unsupported binop");
160157
}
161158
}
162159
}
163160
case (_) {
164-
cx.sess.span_fatal(x.span, "evaluating unsupported expression");
161+
cx.sess.span_err(x.span, "evaluating unsupported expression");
165162
}
166163
}
167164
fail;
@@ -174,7 +171,7 @@ fn val_eq(session::session sess, span sp, val av, val bv) -> bool {
174171
val_as_int(av) == val_as_int(bv)
175172
} else if (val_is_str(av) && val_is_str(bv)) {
176173
str::eq(val_as_str(av), val_as_str(bv))
177-
} else { sess.span_fatal(sp, "bad types in comparison") }
174+
} else { sess.span_err(sp, "bad types in comparison") }
178175
}
179176

180177
fn eval_crate_directives(ctx cx, env e, vec[@ast::crate_directive] cdirs,
@@ -203,7 +200,7 @@ fn eval_crate_directive_block(ctx cx, env e, &ast::block blk, str prefix,
203200
eval_crate_directive(cx, e, cdir, prefix, view_items, items);
204201
}
205202
case (_) {
206-
cx.sess.span_fatal(s.span,
203+
cx.sess.span_err(s.span,
207204
"unsupported stmt in crate-directive block");
208205
}
209206
}
@@ -217,7 +214,7 @@ fn eval_crate_directive_expr(ctx cx, env e, @ast::expr x, str prefix,
217214
case (ast::expr_if(?cond, ?thn, ?elopt, _)) {
218215
auto cv = eval_expr(cx, e, cond);
219216
if (!val_is_bool(cv)) {
220-
cx.sess.span_fatal(x.span, "bad cond type in 'if'");
217+
cx.sess.span_err(x.span, "bad cond type in 'if'");
221218
}
222219
if (val_as_bool(cv)) {
223220
ret eval_crate_directive_block(cx, e, thn, prefix, view_items,
@@ -252,18 +249,18 @@ fn eval_crate_directive_expr(ctx cx, env e, @ast::expr x, str prefix,
252249
items);
253250
}
254251
case (_) {
255-
cx.sess.span_fatal(arm.pat.span,
252+
cx.sess.span_err(arm.pat.span,
256253
"bad pattern type in 'alt'");
257254
}
258255
}
259256
}
260-
cx.sess.span_fatal(x.span, "no cases matched in 'alt'");
257+
cx.sess.span_err(x.span, "no cases matched in 'alt'");
261258
}
262259
case (ast::expr_block(?block, _)) {
263260
ret eval_crate_directive_block(cx, e, block, prefix, view_items,
264261
items);
265262
}
266-
case (_) { cx.sess.span_fatal(x.span, "unsupported expr type"); }
263+
case (_) { cx.sess.span_err(x.span, "unsupported expr type"); }
267264
}
268265
}
269266

trunk/src/comp/front/ext.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,21 @@ type next_ann_fn = fn() -> ast::ann ;
3131
// Provides a limited set of services necessary for syntax extensions
3232
// to do their thing
3333
type ext_ctxt =
34-
rec(span_msg_fn span_fatal,
35-
span_msg_fn span_unimpl,
36-
next_ann_fn next_ann);
34+
rec(span_msg_fn span_err, span_msg_fn span_unimpl, next_ann_fn next_ann);
3735

3836
fn mk_ctxt(parser parser) -> ext_ctxt {
3937
auto sess = parser.get_session();
40-
fn ext_span_fatal_(session sess, span sp, str msg) -> ! {
41-
sess.span_fatal(sp, msg);
38+
fn ext_span_err_(session sess, span sp, str msg) -> ! {
39+
sess.span_err(sp, msg);
4240
}
43-
auto ext_span_fatal = bind ext_span_fatal_(sess, _, _);
41+
auto ext_span_err = bind ext_span_err_(sess, _, _);
4442
fn ext_span_unimpl_(session sess, span sp, str msg) -> ! {
4543
sess.span_unimpl(sp, msg);
4644
}
4745
auto ext_span_unimpl = bind ext_span_unimpl_(sess, _, _);
4846
fn ext_next_ann_(parser parser) -> ast::ann { parser.get_ann() }
4947
auto ext_next_ann = bind ext_next_ann_(parser);
50-
ret rec(span_fatal=ext_span_fatal,
48+
ret rec(span_err=ext_span_err,
5149
span_unimpl=ext_span_unimpl,
5250
next_ann=ext_next_ann);
5351
}

trunk/src/comp/front/extenv.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export expand_syntax_ext;
1616
fn expand_syntax_ext(&ext_ctxt cx, common::span sp, &vec[@ast::expr] args,
1717
option::t[str] body) -> @ast::expr {
1818
if (vec::len[@ast::expr](args) != 1u) {
19-
cx.span_fatal(sp, "malformed #env call");
19+
cx.span_err(sp, "malformed #env call");
2020
}
2121
// FIXME: if this was more thorough it would manufacture an
2222
// option::t[str] rather than just an maybe-empty string.
@@ -35,10 +35,10 @@ fn expr_to_str(&ext_ctxt cx, @ast::expr expr) -> str {
3535
case (ast::expr_lit(?l, _)) {
3636
alt (l.node) {
3737
case (ast::lit_str(?s, _)) { ret s; }
38-
case (_) { cx.span_fatal(l.span, "malformed #env call"); }
38+
case (_) { cx.span_err(l.span, "malformed #env call"); }
3939
}
4040
}
41-
case (_) { cx.span_fatal(expr.span, "malformed #env call"); }
41+
case (_) { cx.span_err(expr.span, "malformed #env call"); }
4242
}
4343
}
4444

trunk/src/comp/front/extfmt.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ export expand_syntax_ext;
1818
fn expand_syntax_ext(&ext_ctxt cx, common::span sp, &vec[@ast::expr] args,
1919
option::t[str] body) -> @ast::expr {
2020
if (vec::len[@ast::expr](args) == 0u) {
21-
cx.span_fatal(sp, "#fmt requires a format string");
21+
cx.span_err(sp, "#fmt requires a format string");
2222
}
2323
auto fmt = expr_to_str(cx, args.(0));
2424
auto fmtspan = args.(0).span;
2525
log "Format string:";
2626
log fmt;
2727
fn parse_fmt_err_(&ext_ctxt cx, common::span sp, str msg) -> ! {
28-
cx.span_fatal(sp, msg);
28+
cx.span_err(sp, msg);
2929
}
3030
auto parse_fmt_err = bind parse_fmt_err_(cx, fmtspan, _);
3131
auto pieces = parse_fmt_string(fmt, parse_fmt_err);
@@ -40,10 +40,10 @@ fn expr_to_str(&ext_ctxt cx, @ast::expr expr) -> str {
4040
case (ast::expr_lit(?l, _)) {
4141
alt (l.node) {
4242
case (ast::lit_str(?s, _)) { ret s; }
43-
case (_) { cx.span_fatal(l.span, err_msg); }
43+
case (_) { cx.span_err(l.span, err_msg); }
4444
}
4545
}
46-
case (_) { cx.span_fatal(expr.span, err_msg); }
46+
case (_) { cx.span_err(expr.span, err_msg); }
4747
}
4848
}
4949

@@ -236,14 +236,14 @@ fn pieces_to_expr(&ext_ctxt cx, common::span sp, vec[piece] pieces,
236236
case (flag_left_justify) { }
237237
case (flag_sign_always) {
238238
if (!is_signed_type(cnv)) {
239-
cx.span_fatal(sp,
239+
cx.span_err(sp,
240240
"+ flag only valid in " +
241241
"signed #fmt conversion");
242242
}
243243
}
244244
case (flag_space_for_sign) {
245245
if (!is_signed_type(cnv)) {
246-
cx.span_fatal(sp,
246+
cx.span_err(sp,
247247
"space flag only valid in " +
248248
"signed #fmt conversions");
249249
}
@@ -361,7 +361,7 @@ fn pieces_to_expr(&ext_ctxt cx, common::span sp, vec[piece] pieces,
361361
case (piece_conv(?conv)) {
362362
n += 1u;
363363
if (n >= nargs) {
364-
cx.span_fatal(sp,
364+
cx.span_err(sp,
365365
"not enough arguments to #fmt " +
366366
"for the given format string");
367367
}
@@ -376,7 +376,7 @@ fn pieces_to_expr(&ext_ctxt cx, common::span sp, vec[piece] pieces,
376376
auto expected_nargs = n + 1u; // n conversions + the fmt string
377377

378378
if (expected_nargs < nargs) {
379-
cx.span_fatal(sp,
379+
cx.span_err(sp,
380380
#fmt("too many arguments to #fmt. found %u, expected %u",
381381
nargs, expected_nargs));
382382
}

0 commit comments

Comments
 (0)