@@ -62,9 +62,6 @@ use std::sys;
62
62
use std:: vec;
63
63
use syntax:: codemap:: span;
64
64
use syntax:: { ast, codemap, ast_util, ast_map} ;
65
- use syntax:: parse:: token;
66
-
67
-
68
65
69
66
static DW_LANG_RUST : int = 0x9000 ;
70
67
@@ -529,7 +526,7 @@ fn create_tuple(cx: &mut CrateContext,
529
526
span : span )
530
527
-> DICompositeType {
531
528
532
- let tuple_name = "tuple" ; // TODO: better type name
529
+ let tuple_name = "tuple" ; // this should have a better name
533
530
let tuple_llvm_type = type_of:: type_of ( cx, tuple_type) ;
534
531
// Create a vec of empty strings. A vec::build_n() function would be nice for this.
535
532
let mut component_names : ~[ ~str ] = vec:: with_capacity ( component_types. len ( ) ) ;
@@ -566,7 +563,7 @@ fn create_composite_type(cx: &mut CrateContext,
566
563
let composite_size = machine:: llsize_of_alloc ( cx, composite_llvm_type) ;
567
564
let composite_align = machine:: llalign_of_min ( cx, composite_llvm_type) ;
568
565
569
- let xxx : ~[ DIDescriptor ] = member_llvm_types
566
+ let member_metadata : ~[ DIDescriptor ] = member_llvm_types
570
567
. iter ( )
571
568
. enumerate ( )
572
569
. transform ( |( i, member_llvm_type) | {
@@ -587,33 +584,10 @@ fn create_composite_type(cx: &mut CrateContext,
587
584
bytes_to_bits ( member_offset) ,
588
585
0 ,
589
586
member_type_metadata[ i] )
590
- } } } )
587
+ } }
588
+ } )
591
589
. collect ( ) ;
592
590
593
- let member_metadata = create_DIArray ( DIB ( cx) , xxx) ;
594
- // transform the ty::t array of components into an array of DIEs
595
- // do vec::mapi(member_llvm_types) |i, member_llvm_type| {
596
- // do member_llvm_types.iter().enumerate().transform |(i, member_llvm_type)| {
597
- // let member_size = machine::llsize_of_alloc(cx, *member_llvm_type);
598
- // let member_align = machine::llalign_of_min(cx, *member_llvm_type);
599
- // let member_offset = machine::llelement_offset(cx, composite_llvm_type, i);
600
- // let member_name : &str = member_names[i];
601
-
602
- // do member_name.as_c_str |member_name| { unsafe {
603
- // llvm::LLVMDIBuilderCreateMemberType(
604
- // DIB(cx),
605
- // file_metadata,
606
- // member_name,
607
- // file_metadata,
608
- // loc.line as c_uint,
609
- // bytes_to_bits(member_size),
610
- // bytes_to_bits(member_align),
611
- // bytes_to_bits(member_offset),
612
- // 0,
613
- // member_type_metadata[i])
614
- // }}
615
- // }.collect());
616
-
617
591
return do composite_type_name. as_c_str |name| { unsafe {
618
592
llvm:: LLVMDIBuilderCreateStructType (
619
593
DIB ( cx) ,
@@ -625,7 +599,7 @@ fn create_composite_type(cx: &mut CrateContext,
625
599
bytes_to_bits ( composite_align) ,
626
600
0 ,
627
601
ptr:: null ( ) ,
628
- member_metadata,
602
+ create_DIArray ( DIB ( cx ) , member_metadata) ,
629
603
0 ,
630
604
ptr:: null ( ) )
631
605
} } ;
@@ -873,7 +847,12 @@ fn get_or_create_ty(cx: &mut CrateContext, t: ty::t, span: span) -> DIType {
873
847
ty:: ty_uniq( ref mt) => {
874
848
let content_llvm_type = type_of:: type_of ( cx, mt. ty ) ;
875
849
let content_type_metadata = get_or_create_ty ( cx, mt. ty , span) ;
876
- let box_metadata = create_boxed_type ( cx, content_llvm_type, content_type_metadata, span) ;
850
+
851
+ let box_metadata = create_boxed_type ( cx,
852
+ content_llvm_type,
853
+ content_type_metadata,
854
+ span) ;
855
+
877
856
create_pointer_type ( cx, t, span, box_metadata)
878
857
} ,
879
858
ty:: ty_evec( ref mt, ref vstore) => {
0 commit comments