Skip to content

Commit 375de14

Browse files
committed
LLVMCodeBuilder: Handle unknown type in cast methods
1 parent 359afc1 commit 375de14

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/dev/engine/internal/llvmcodebuilder.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1044,8 +1044,9 @@ llvm::Value *LLVMCodeBuilder::castValue(std::shared_ptr<Register> reg, Compiler:
10441044
return m_builder.CreateSIToFP(boolValue, m_builder.getDoubleTy());
10451045
}
10461046

1047-
case Compiler::StaticType::String: {
1048-
// Convert string to double
1047+
case Compiler::StaticType::String:
1048+
case Compiler::StaticType::Unknown: {
1049+
// Convert to double
10491050
return m_builder.CreateCall(resolve_value_toDouble(), reg->value);
10501051
}
10511052

@@ -1070,7 +1071,8 @@ llvm::Value *LLVMCodeBuilder::castValue(std::shared_ptr<Register> reg, Compiler:
10701071
}
10711072

10721073
case Compiler::StaticType::String:
1073-
// Convert string to bool
1074+
case Compiler::StaticType::Unknown:
1075+
// Convert to bool
10741076
return m_builder.CreateCall(resolve_value_toBool(), reg->value);
10751077

10761078
default:
@@ -1081,7 +1083,8 @@ llvm::Value *LLVMCodeBuilder::castValue(std::shared_ptr<Register> reg, Compiler:
10811083
case Compiler::StaticType::String:
10821084
switch (reg->type) {
10831085
case Compiler::StaticType::Number:
1084-
case Compiler::StaticType::Bool: {
1086+
case Compiler::StaticType::Bool:
1087+
case Compiler::StaticType::Unknown: {
10851088
// Cast to string
10861089
llvm::Value *ptr = m_builder.CreateCall(resolve_value_toCString(), reg->value);
10871090
m_heap.push_back(ptr); // deallocate later

0 commit comments

Comments
 (0)