aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/llvm_backend_type.cpp28
1 files changed, 6 insertions, 22 deletions
diff --git a/src/llvm_backend_type.cpp b/src/llvm_backend_type.cpp
index aa1d8fea1..eba926abc 100644
--- a/src/llvm_backend_type.cpp
+++ b/src/llvm_backend_type.cpp
@@ -594,29 +594,13 @@ gb_internal void lb_setup_type_info_data_giant_array(lbModule *m, i64 global_typ
lbValue v_count = lb_const_int(m, t_int, fields.count);
- vals[1] = llvm_const_slice(m, lbValue{name_array.value, alloc_type_pointer(t_string)}, v_count);
- vals[2] = llvm_const_slice(m, lbValue{value_array.value, alloc_type_pointer(t_type_info_enum_value)}, v_count);
- else {
- vals[1] = LLVMConstNull(lb_type(m, base_type(t_type_info_enum)->Struct.fields[1]->type));
- vals[2] = LLVMConstNull(lb_type(m, base_type(t_type_info_enum)->Struct.fields[2]->type));
+ vals[2] = llvm_const_slice(m, lbValue{name_array.value, alloc_type_pointer(t_string)}, v_count);
+ vals[3] = llvm_const_slice(m, lbValue{value_array.value, alloc_type_pointer(t_type_info_enum_value)}, v_count);
+ } else {
+ vals[2] = LLVMConstNull(LLVMStructGetTypeAtIndex(stype, 2));
+ vals[3] = LLVMConstNull(LLVMStructGetTypeAtIndex(stype, 3));
}
-
- LLVMValueRef name_init = llvm_const_array(lb_type(m, t_string), name_values, cast(unsigned)fields.count);
- LLVMValueRef value_init = llvm_const_array(lb_type(m, t_type_info_enum_value), value_values, cast(unsigned)fields.count);
- LLVMSetInitializer(name_array.value, name_init);
- LLVMSetInitializer(value_array.value, value_init);
- LLVMSetGlobalConstant(name_array.value, true);
- LLVMSetGlobalConstant(value_array.value, true);
-
- lbValue v_count = lb_const_int(m, t_int, fields.count);
-
- vals[2] = llvm_const_slice(m, lbValue{name_array.value, alloc_type_pointer(t_string)}, v_count);
- vals[3] = llvm_const_slice(m, lbValue{value_array.value, alloc_type_pointer(t_type_info_enum_value)}, v_count);
- } else {
- vals[2] = LLVMConstNull(LLVMStructGetTypeAtIndex(stype, 2));
- vals[3] = LLVMConstNull(LLVMStructGetTypeAtIndex(stype, 3));
- }
- break;
+ break;
case Type_Union: {
tag_type = t_type_info_union;