diff options
| author | Josh Matthews <josh@joshmatthews.net> | 2011-11-16 12:37:27 -0500 |
|---|---|---|
| committer | Josh Matthews <josh@joshmatthews.net> | 2011-12-18 23:43:37 -0500 |
| commit | fa6d871e11bc4f765062cff41fbce5d977e24ea5 (patch) | |
| tree | 703f140c5252ddc469a18a3845f86a40cfe0ba17 /src/comp | |
| parent | e383004985a5d725cec91cc48793284eedbcdbce (diff) | |
| download | rust-fa6d871e11bc4f765062cff41fbce5d977e24ea5.tar.gz rust-fa6d871e11bc4f765062cff41fbce5d977e24ea5.zip | |
Build fix.
Diffstat (limited to 'src/comp')
| -rw-r--r-- | src/comp/middle/debuginfo.rs | 11 | ||||
| -rw-r--r-- | src/comp/middle/trans.rs | 6 |
2 files changed, 10 insertions, 7 deletions
diff --git a/src/comp/middle/debuginfo.rs b/src/comp/middle/debuginfo.rs index 9379c42623c..885e42abc50 100644 --- a/src/comp/middle/debuginfo.rs +++ b/src/comp/middle/debuginfo.rs @@ -253,6 +253,9 @@ fn get_ty_metadata(cx: @crate_ctxt, t: ty::t, ty: @ast::ty) -> @metadata<tydesc_ let llnode = llmdnode(lldata); let mdval = @{node: llnode, data: {hash: ty::hash_ty(t)}}; update_cache(cache, BasicTypeDescriptorTag, tydesc_metadata(mdval)); + llvm::LLVMAddNamedMetadataOperand(cx.llmod, as_buf("llvm.dbg.ty"), + str::byte_len("llvm.dbg.ty"), + llnode); ret mdval; } @@ -295,21 +298,21 @@ fn get_local_var_metadata(bcx: @block_ctxt, local: @ast::local) } }; let declargs = [llmdnode([llptr]), mdnode]; - let instr = trans_build::Call(bcx, cx.intrinsics.get("llvm.dbg.declare"), - declargs); + trans_build::Call(bcx, cx.intrinsics.get("llvm.dbg.declare"), + declargs); llvm::LLVMAddNamedMetadataOperand(cx.llmod, as_buf("llvm.dbg.vars"), str::byte_len("llvm.dbg.vars"), mdnode); ret mdval; } -fn update_source_pos<T>(cx: @block_ctxt, s: T) { +fn update_source_pos(cx: @block_ctxt, s: codemap::span) { if !bcx_ccx(cx).sess.get_opts().debuginfo { ret; } cx.source_pos = option::some( codemap::lookup_char_pos(bcx_ccx(cx).sess.get_codemap(), - s.span.lo)); //XXX maybe hi + s.lo)); //XXX maybe hi } diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 551ac18a1b2..66b58369d25 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -3519,7 +3519,7 @@ fn trans_temp_expr(bcx: @block_ctxt, e: @ast::expr) -> result { // - exprs with non-immediate type never get dest=by_val fn trans_expr(bcx: @block_ctxt, e: @ast::expr, dest: dest) -> @block_ctxt { let tcx = bcx_tcx(bcx); - debuginfo::update_source_pos(bcx, e); + debuginfo::update_source_pos(bcx, e.span); if expr_is_lval(bcx, e) { ret lval_to_dps(bcx, e, dest); @@ -4014,7 +4014,7 @@ fn trans_stmt(cx: @block_ctxt, s: ast::stmt) -> @block_ctxt { } let bcx = cx; - debuginfo::update_source_pos(cx, s); + debuginfo::update_source_pos(cx, s.span); alt s.node { ast::stmt_expr(e, _) { bcx = trans_expr(cx, e, ignore); } @@ -4263,7 +4263,7 @@ fn trans_block(bcx: @block_ctxt, b: ast::blk) -> @block_ctxt { fn trans_block_dps(bcx: @block_ctxt, b: ast::blk, dest: dest) -> @block_ctxt { let bcx = bcx; - debuginfo::update_source_pos(bcx, b); + debuginfo::update_source_pos(bcx, b.span); block_locals(b) {|local| bcx = alloc_local(bcx, local); }; for s: @ast::stmt in b.node.stmts { bcx = trans_stmt(bcx, *s); |
