about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2011-12-19 01:36:37 -0500
committerJosh Matthews <josh@joshmatthews.net>2011-12-19 01:36:37 -0500
commit52dbe4cc1db040562f5a5c22a0fd917db3040011 (patch)
tree198254f755cc47fdf6459df2f369c3988e5d8d80
parentdf6052c4f88fbc9118411967d236576ae45d7dc5 (diff)
downloadrust-52dbe4cc1db040562f5a5c22a0fd917db3040011.tar.gz
rust-52dbe4cc1db040562f5a5c22a0fd917db3040011.zip
Fix merge error and rebasing changes for debug information.
-rw-r--r--src/comp/middle/ast_map.rs1
-rw-r--r--src/comp/middle/debuginfo.rs10
-rw-r--r--src/comp/middle/trans_closure.rs1
m---------src/llvm0
4 files changed, 8 insertions, 4 deletions
diff --git a/src/comp/middle/ast_map.rs b/src/comp/middle/ast_map.rs
index 63b7131d15d..0d0eb086989 100644
--- a/src/comp/middle/ast_map.rs
+++ b/src/comp/middle/ast_map.rs
@@ -73,6 +73,7 @@ fn map_item(cx: ctx, i: @item) {
       }
       item_impl(_, _, ms) {
         for m in ms { cx.map.insert(m.node.id, node_method(m)); }
+      }
       item_res(_, dtor_id, _, ctor_id) {
         cx.map.insert(ctor_id, node_res_ctor(i));
         cx.map.insert(dtor_id, node_item(i));
diff --git a/src/comp/middle/debuginfo.rs b/src/comp/middle/debuginfo.rs
index 12b26410c88..6478a1a1e67 100644
--- a/src/comp/middle/debuginfo.rs
+++ b/src/comp/middle/debuginfo.rs
@@ -1,8 +1,10 @@
-import std::{vec, str, option, unsafe, fs, sys, ctypes};
+import core::{vec, str, option, sys, ctypes, unsafe};
+import std::fs;
 import std::map::hashmap;
 import lib::llvm::llvm;
 import lib::llvm::llvm::ValueRef;
 import middle::trans_common::*;
+import middle::trans_build::B;
 import middle::ty;
 import syntax::{ast, codemap};
 import ast::ty;
@@ -66,7 +68,7 @@ fn llunused() -> ValueRef {
     lli32(0x0)
 }
 fn llnull() -> ValueRef unsafe {
-    unsafe::reinterpret_cast(std::ptr::null::<ValueRef>())
+    unsafe::reinterpret_cast(ptr::null::<ValueRef>())
 }
 
 fn add_named_metadata(cx: @crate_ctxt, name: str, val: ValueRef) {
@@ -621,7 +623,7 @@ fn create_local_var(bcx: @block_ctxt, local: @ast::local)
     }
 
     let name = alt local.node.pat.node {
-      ast::pat_bind(ident) { ident }
+      ast::pat_bind(ident, _) { ident /*XXX deal with optional node binding */ }
     };
     let loc = codemap::lookup_char_pos(cx.sess.get_codemap(),
                                        local.span.lo);
@@ -727,7 +729,7 @@ fn create_function(fcx: @fn_ctxt) -> @metadata<subprogram_md> {
       }
       ast_map::node_expr(expr) {
         alt expr.node {
-          ast::expr_fn(f) {
+          ast::expr_fn(f, _) {
             (dbg_cx.names.next("fn"), f.decl.output, expr.id)
           }
         }
diff --git a/src/comp/middle/trans_closure.rs b/src/comp/middle/trans_closure.rs
index 94e1cdc8ca3..43cb0c3f39d 100644
--- a/src/comp/middle/trans_closure.rs
+++ b/src/comp/middle/trans_closure.rs
@@ -336,6 +336,7 @@ fn trans_expr_fn(bcx: @block_ctxt, f: ast::_fn, sp: span,
     let sub_cx = extend_path(bcx.fcx.lcx, ccx.names.next("anon"));
     let s = mangle_internal_name_by_path(ccx, sub_cx.path);
     let llfn = decl_internal_cdecl_fn(ccx.llmod, s, llfnty);
+    register_fn(ccx, sp, sub_cx.path, "anon fn", [], id);
 
     let trans_closure_env = lambda(ck: ty::closure_kind) -> ValueRef {
         let upvars = get_freevars(ccx.tcx, id);
diff --git a/src/llvm b/src/llvm
-Subproject 80c896f8ad46f5c3fb777c32c0c71d58a4bdb1e
+Subproject a320b2aa41fbe3f944bad33780626d65d1b11e6