diff options
| author | bors <bors@rust-lang.org> | 2014-08-01 01:56:32 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-08-01 01:56:32 +0000 |
| commit | b495933a7fdc5e7b28ddbb058d1e2dab330ace7b (patch) | |
| tree | 08789d8ee08603d5bee30fc7958e1f8fcae83bea /src/libsyntax | |
| parent | 75a39e0fb8fef20d72f7279686ec266bb9cec127 (diff) | |
| parent | ec79d368d2f9b56ac1d00825108b4e8b8bd26498 (diff) | |
| download | rust-b495933a7fdc5e7b28ddbb058d1e2dab330ace7b.tar.gz rust-b495933a7fdc5e7b28ddbb058d1e2dab330ace7b.zip | |
auto merge of #16141 : alexcrichton/rust/rollup, r=alexcrichton
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/build.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 6c9e113f41a..33daefa3e06 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -690,6 +690,13 @@ impl<'a> AstBuilder for ExtCtxt<'a> { fn expr_fail(&self, span: Span, msg: InternedString) -> Gc<ast::Expr> { let loc = self.codemap().lookup_char_pos(span.lo); + let expr_file = self.expr_str(span, + token::intern_and_get_ident(loc.file + .name + .as_slice())); + let expr_line = self.expr_uint(span, loc.line); + let expr_file_line_tuple = self.expr_tuple(span, vec!(expr_file, expr_line)); + let expr_file_line_ptr = self.expr_addr_of(span, expr_file_line_tuple); self.expr_call_global( span, vec!( @@ -698,11 +705,7 @@ impl<'a> AstBuilder for ExtCtxt<'a> { self.ident_of("begin_unwind")), vec!( self.expr_str(span, msg), - self.expr_str(span, - token::intern_and_get_ident(loc.file - .name - .as_slice())), - self.expr_uint(span, loc.line))) + expr_file_line_ptr)) } fn expr_unreachable(&self, span: Span) -> Gc<ast::Expr> { |
