Skip to content

Commit 582c717

Browse files
committed
rustc: Clean up some enum code
1 parent dfc81df commit 582c717

File tree

3 files changed

+5
-16
lines changed

3 files changed

+5
-16
lines changed

src/rustc/middle/trans/common.rs

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -680,25 +680,14 @@ fn T_opaque_cbox_ptr(cx: @crate_ctxt) -> TypeRef {
680680
ret T_opaque_box_ptr(cx);
681681
}
682682

683-
fn T_enum_variant(cx: @crate_ctxt) -> TypeRef {
683+
fn T_enum_discrim(cx: @crate_ctxt) -> TypeRef {
684684
ret cx.int_type;
685685
}
686686

687-
fn T_enum(cx: @crate_ctxt, size: uint) -> TypeRef {
688-
let s = "enum_" + uint::to_str(size, 10u);
689-
alt name_has_type(cx.tn, s) { some(t) { ret t; } _ {} }
690-
let t =
691-
if size == 0u {
692-
T_struct([T_enum_variant(cx)])
693-
} else { T_struct([T_enum_variant(cx), T_array(T_i8(), size)]) };
694-
associate_type(cx.tn, s, t);
695-
ret t;
696-
}
697-
698687
fn T_opaque_enum(cx: @crate_ctxt) -> TypeRef {
699688
let s = "opaque_enum";
700689
alt name_has_type(cx.tn, s) { some(t) { ret t; } _ {} }
701-
let t = T_struct([T_enum_variant(cx), T_i8()]);
690+
let t = T_struct([T_enum_discrim(cx), T_i8()]);
702691
associate_type(cx.tn, s, t);
703692
ret t;
704693
}

src/rustc/middle/trans/shape.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ fn compute_static_enum_size(ccx: @crate_ctxt, largest_variants: [uint],
200200
// FIXME (issue #792): This is wrong. If the enum starts with an 8 byte
201201
// aligned quantity, we don't align it.
202202
if vec::len(*variants) > 1u {
203-
let variant_t = T_enum_variant(ccx);
203+
let variant_t = T_enum_discrim(ccx);
204204
max_size += llsize_of_real(ccx, variant_t) as u16;
205205
let align = llalign_of_pref(ccx, variant_t) as u8;
206206
if max_align < align { max_align = align; }

src/rustc/middle/trans/type_of.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,10 @@ fn type_of_enum(cx: @crate_ctxt, did: ast::def_id, t: ty::t)
158158
let degen = (*ty::enum_variants(cx.tcx, did)).len() == 1u;
159159
let size = shape::static_size_of_enum(cx, t);
160160
if !degen {
161-
[T_enum_variant(cx), T_array(T_i8(), size)]
161+
[T_enum_discrim(cx), T_array(T_i8(), size)]
162162
}
163163
else if size == 0u {
164-
[T_enum_variant(cx)]
164+
[T_enum_discrim(cx)]
165165
}
166166
else {
167167
[T_array(T_i8(), size)]

0 commit comments

Comments
 (0)