aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
diff options
context:
space:
mode:
authorJimmi Holst Christensen <jimmiholstchristensen@gmail.com>2018-04-28 14:05:08 +0200
committerJimmi Holst Christensen <jimmiholstchristensen@gmail.com>2018-04-28 14:05:08 +0200
commit3178528335cb5efbf237cecb9ea9eb3bfa31b21f (patch)
tree3a0d8ef0107e6a9989a55f2a3d8070ad42999217 /src/ir.cpp
parent27cbb44993389ae042a03266743379c0f15a523e (diff)
downloadzig-3178528335cb5efbf237cecb9ea9eb3bfa31b21f.tar.gz
zig-3178528335cb5efbf237cecb9ea9eb3bfa31b21f.zip
Removed zero sized error set optimization
fixes #762 fixes #818
Diffstat (limited to 'src/ir.cpp')
-rw-r--r--src/ir.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/ir.cpp b/src/ir.cpp
index 86c77758b2..ec7f41d748 100644
--- a/src/ir.cpp
+++ b/src/ir.cpp
@@ -6166,16 +6166,10 @@ static IrInstruction *ir_gen_err_set_decl(IrBuilder *irb, Scope *parent_scope, A
buf_init_from_buf(&err_set_type->name, type_name);
err_set_type->is_copyable = true;
err_set_type->data.error_set.err_count = err_count;
-
- if (err_count == 0) {
- err_set_type->zero_bits = true;
- err_set_type->di_type = irb->codegen->builtin_types.entry_void->di_type;
- } else {
- err_set_type->type_ref = irb->codegen->builtin_types.entry_global_error_set->type_ref;
- err_set_type->di_type = irb->codegen->builtin_types.entry_global_error_set->di_type;
- irb->codegen->error_di_types.append(&err_set_type->di_type);
- err_set_type->data.error_set.errors = allocate<ErrorTableEntry *>(err_count);
- }
+ err_set_type->type_ref = irb->codegen->builtin_types.entry_global_error_set->type_ref;
+ err_set_type->di_type = irb->codegen->builtin_types.entry_global_error_set->di_type;
+ irb->codegen->error_di_types.append(&err_set_type->di_type);
+ err_set_type->data.error_set.errors = allocate<ErrorTableEntry *>(err_count);
ErrorTableEntry **errors = allocate<ErrorTableEntry *>(irb->codegen->errors_by_index.length + err_count);