Browse Source

Add edge case check for "" string

gingerBill 5 years ago
parent
commit
bf215377de
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/llvm_backend.cpp

+ 3 - 0
src/llvm_backend.cpp

@@ -4895,6 +4895,9 @@ lbValue lb_const_value(lbModule *m, Type *type, ExactValue value, bool allow_loc
 			if (is_type_cstring(res.type)) {
 			if (is_type_cstring(res.type)) {
 				res.value = ptr;
 				res.value = ptr;
 			} else {
 			} else {
+				if (value.value_string.len == 0) {
+					ptr = LLVMConstNull(lb_type(m, t_u8_ptr));
+				}
 				LLVMValueRef str_len = LLVMConstInt(lb_type(m, t_int), value.value_string.len, true);
 				LLVMValueRef str_len = LLVMConstInt(lb_type(m, t_int), value.value_string.len, true);
 				LLVMValueRef values[2] = {ptr, str_len};
 				LLVMValueRef values[2] = {ptr, str_len};