@@ -14,9 +14,6 @@ use lib::llvm::{ValueRef};
1414use lib:: llvm:: False ;
1515use lib:: llvm:: llvm;
1616use middle:: trans:: common:: * ;
17- use middle:: trans:: type_of;
18- use middle:: ty;
19- use util:: ppaux:: ty_to_str;
2017
2118use middle:: trans:: type_:: Type ;
2219
@@ -116,42 +113,3 @@ pub fn llalign_of(cx: &CrateContext, ty: Type) -> ValueRef {
116113 llvm:: LLVMAlignOf ( ty. to_ref ( ) ) , cx. int_type . to_ref ( ) , False ) ;
117114 }
118115}
119-
120- // Computes the size of the data part of an enum.
121- pub fn static_size_of_enum ( cx : & mut CrateContext , t : ty:: t ) -> uint {
122- if cx. enum_sizes . contains_key ( & t) {
123- return cx. enum_sizes . get_copy ( & t) ;
124- }
125-
126- debug ! ( "static_size_of_enum %s" , ty_to_str( cx. tcx, t) ) ;
127-
128- match ty:: get ( t) . sty {
129- ty:: ty_enum( tid, ref substs) => {
130- // Compute max(variant sizes).
131- let mut max_size = 0 ;
132- let variants = ty:: enum_variants ( cx. tcx , tid) ;
133- for variants. iter( ) . advance |variant| {
134- if variant. args. len( ) == 0 {
135- loop ;
136- }
137-
138- let lltypes = variant. args. map( |& variant_arg| {
139- let substituted = ty:: subst( cx. tcx, substs, variant_arg) ;
140- type_of:: sizing_type_of( cx, substituted)
141- } ) ;
142-
143- debug ! ( "static_size_of_enum: variant %s type %s" ,
144- cx. tcx. sess. str_of( variant. name) ,
145- cx. tn. type_to_str( Type :: struct_( lltypes, false ) ) ) ;
146-
147- let this_size = llsize_of_real( cx, Type :: struct_( lltypes, false ) ) ;
148- if max_size < this_size {
149- max_size = this_size;
150- }
151- }
152- cx. enum_sizes . insert ( t, max_size) ;
153- return max_size;
154- }
155- _ => cx. sess . bug ( "static_size_of_enum called on non-enum" )
156- }
157- }
0 commit comments