diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2014-02-07 14:48:56 -0500 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2014-02-11 16:55:23 -0500 |
| commit | 95c53c049c9ced13c325c9aade22affbf5d97fa3 (patch) | |
| tree | 193e15058ef51eaeed933ae87442e7c287b1ca1f /src | |
| parent | 8b760fd844fd43e331388a4d5c73304356058295 (diff) | |
back/link -- introduce block to clarify scope of closure
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/back/link.rs | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs index d6abc7b6954..099f376aded 100644 --- a/src/librustc/back/link.rs +++ b/src/librustc/back/link.rs @@ -361,21 +361,23 @@ pub mod write { let mut llvm_c_strs = ~[]; let mut llvm_args = ~[]; - let add = |arg: &str| { - let s = arg.to_c_str(); - llvm_args.push(s.with_ref(|p| p)); - llvm_c_strs.push(s); - }; - add("rustc"); // fake program name - add("-arm-enable-ehabi"); - add("-arm-enable-ehabi-descriptors"); - if vectorize_loop { add("-vectorize-loops"); } - if vectorize_slp { add("-vectorize-slp"); } - if sess.time_llvm_passes() { add("-time-passes"); } - if sess.print_llvm_passes() { add("-debug-pass=Structure"); } - - for arg in sess.opts.cg.llvm_args.iter() { - add(*arg); + { + let add = |arg: &str| { + let s = arg.to_c_str(); + llvm_args.push(s.with_ref(|p| p)); + llvm_c_strs.push(s); + }; + add("rustc"); // fake program name + add("-arm-enable-ehabi"); + add("-arm-enable-ehabi-descriptors"); + if vectorize_loop { add("-vectorize-loops"); } + if vectorize_slp { add("-vectorize-slp"); } + if sess.time_llvm_passes() { add("-time-passes"); } + if sess.print_llvm_passes() { add("-debug-pass=Structure"); } + + for arg in sess.opts.cg.llvm_args.iter() { + add(*arg); + } } INIT.doit(|| { @@ -631,7 +633,7 @@ pub fn mangle(sess: Session, ss: ast_map::Path, let mut n = ~"_ZN"; // _Z == Begin name-sequence, N == nested - let push = |s: &str| { + let push = |n: &mut ~str, s: &str| { let sani = sanitize(s); n.push_str(format!("{}{}", sani.len(), sani)); }; @@ -640,7 +642,7 @@ pub fn mangle(sess: Session, ss: ast_map::Path, for s in ss.iter() { match *s { PathName(s) | PathMod(s) | PathPrettyName(s, _) => { - push(sess.str_of(s)) + push(&mut n, sess.str_of(s)) } } } @@ -665,10 +667,10 @@ pub fn mangle(sess: Session, ss: ast_map::Path, } } if hash.len() > 0 { - push(hash); + push(&mut n, hash); } match vers { - Some(s) => push(s), + Some(s) => push(&mut n, s), None => {} } |
