From 9946e467ff682820826fe14eae24b64418269b1f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 6 Sep 2011 22:44:16 -0700 Subject: [PATCH] Export tag discriminants even for single-variant tags I don't know exactly what's going on but this optimization is giving me problems with the check-fast runner. I also don't see how it is correct for external tags. --- src/comp/middle/trans.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index e8152dc1dd6..c43d5d88f8f 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -5873,10 +5873,8 @@ fn trans_constant(ccx: @crate_ctxt, it: &@ast::item, pt: &[str], {|buf| llvm::LLVMAddGlobal(ccx.llmod, T_int(), buf) }); - if n_variants != 1u { - llvm::LLVMSetInitializer(discrim_gvar, C_int(i as int)); - llvm::LLVMSetGlobalConstant(discrim_gvar, True); - } + llvm::LLVMSetInitializer(discrim_gvar, C_int(i as int)); + llvm::LLVMSetGlobalConstant(discrim_gvar, True); ccx.discrims.insert(variant.node.id, discrim_gvar); ccx.discrim_symbols.insert(variant.node.id, s); i += 1u;