@@ -361,21 +361,23 @@ pub mod write {
361
361
362
362
let mut llvm_c_strs = ~[ ] ;
363
363
let mut llvm_args = ~[ ] ;
364
- let add = |arg : & str | {
365
- let s = arg. to_c_str ( ) ;
366
- llvm_args. push ( s. with_ref ( |p| p) ) ;
367
- llvm_c_strs. push ( s) ;
368
- } ;
369
- add ( "rustc" ) ; // fake program name
370
- add ( "-arm-enable-ehabi" ) ;
371
- add ( "-arm-enable-ehabi-descriptors" ) ;
372
- if vectorize_loop { add ( "-vectorize-loops" ) ; }
373
- if vectorize_slp { add ( "-vectorize-slp" ) ; }
374
- if sess. time_llvm_passes ( ) { add ( "-time-passes" ) ; }
375
- if sess. print_llvm_passes ( ) { add ( "-debug-pass=Structure" ) ; }
376
-
377
- for arg in sess. opts . cg . llvm_args . iter ( ) {
378
- add ( * arg) ;
364
+ {
365
+ let add = |arg : & str | {
366
+ let s = arg. to_c_str ( ) ;
367
+ llvm_args. push ( s. with_ref ( |p| p) ) ;
368
+ llvm_c_strs. push ( s) ;
369
+ } ;
370
+ add ( "rustc" ) ; // fake program name
371
+ add ( "-arm-enable-ehabi" ) ;
372
+ add ( "-arm-enable-ehabi-descriptors" ) ;
373
+ if vectorize_loop { add ( "-vectorize-loops" ) ; }
374
+ if vectorize_slp { add ( "-vectorize-slp" ) ; }
375
+ if sess. time_llvm_passes ( ) { add ( "-time-passes" ) ; }
376
+ if sess. print_llvm_passes ( ) { add ( "-debug-pass=Structure" ) ; }
377
+
378
+ for arg in sess. opts . cg . llvm_args . iter ( ) {
379
+ add ( * arg) ;
380
+ }
379
381
}
380
382
381
383
INIT . doit ( || {
@@ -631,7 +633,7 @@ pub fn mangle(sess: Session, ss: ast_map::Path,
631
633
632
634
let mut n = ~"_ZN"; // _Z == Begin name-sequence, N == nested
633
635
634
- let push = |s : & str | {
636
+ let push = |n : & mut ~ str , s : & str | {
635
637
let sani = sanitize ( s) ;
636
638
n. push_str ( format ! ( "{}{}" , sani. len( ) , sani) ) ;
637
639
} ;
@@ -640,7 +642,7 @@ pub fn mangle(sess: Session, ss: ast_map::Path,
640
642
for s in ss. iter ( ) {
641
643
match * s {
642
644
PathName ( s) | PathMod ( s) | PathPrettyName ( s, _) => {
643
- push ( sess. str_of ( s) )
645
+ push ( & mut n , sess. str_of ( s) )
644
646
}
645
647
}
646
648
}
@@ -665,10 +667,10 @@ pub fn mangle(sess: Session, ss: ast_map::Path,
665
667
}
666
668
}
667
669
if hash. len( ) > 0 {
668
- push( hash) ;
670
+ push( & mut n , hash) ;
669
671
}
670
672
match vers {
671
- Some ( s) => push ( s) ,
673
+ Some ( s) => push ( & mut n , s) ,
672
674
None => { }
673
675
}
674
676
0 commit comments