@@ -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