@@ -14,9 +14,6 @@ use lib::llvm::{ValueRef};
14
14
use lib:: llvm:: False ;
15
15
use lib:: llvm:: llvm;
16
16
use middle:: trans:: common:: * ;
17
- use middle:: trans:: type_of;
18
- use middle:: ty;
19
- use util:: ppaux:: ty_to_str;
20
17
21
18
use middle:: trans:: type_:: Type ;
22
19
@@ -116,42 +113,3 @@ pub fn llalign_of(cx: &CrateContext, ty: Type) -> ValueRef {
116
113
llvm:: LLVMAlignOf ( ty. to_ref ( ) ) , cx. int_type . to_ref ( ) , False ) ;
117
114
}
118
115
}
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