From 47dfe122fc7ea07d156b8468dbee097f8080dcee Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Fri, 17 Mar 2017 18:40:37 +0700 Subject: [PATCH] Handle String constructor call in code generator --- .../org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt index c535ce1a97d..1bbac47fdbb 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt @@ -1659,6 +1659,11 @@ internal class CodeGeneratorVisitor(val context: Context) : IrElementVisitorVoid assert(args.size >= 1 && args[0].type == int32Type) codegen.allocArray(codegen.typeInfoValue(constructedClass), args[0], resultLifetime(callee)) + } else if (constructedClass == context.builtIns.string) { + // TODO: consider returning the empty string literal instead. + assert(args.size == 0) + codegen.allocArray(codegen.typeInfoValue(constructedClass), count = kImmZero, + lifetime = resultLifetime(callee)) } else { codegen.allocInstance(codegen.typeInfoValue(constructedClass), resultLifetime(callee)) }