about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-09-06 22:44:16 -0700
committerBrian Anderson <banderson@mozilla.com>2011-09-07 10:32:58 -0700
commit9946e467ff682820826fe14eae24b64418269b1f (patch)
tree1344fce2cc5fd65e8be29be13f12ba02d0d7ad66 /src
parentc047cfb710f3ea161b71cc4eb830275ec2c47eea (diff)
downloadrust-9946e467ff682820826fe14eae24b64418269b1f.tar.gz
rust-9946e467ff682820826fe14eae24b64418269b1f.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/comp/middle/trans.rs6
1 files 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;