Assume all user functions to be @Used when compiling for -produce dynamic.
This commit is contained in:
committed by
alexander-gorshenev
parent
de41c5a71f
commit
9c0a583801
-4
@@ -69,10 +69,6 @@ internal inline fun<R> generateFunction(codegen: CodeGenerator,
|
||||
startLocation,
|
||||
endLocation,
|
||||
descriptor), code)
|
||||
|
||||
if (descriptor.usedAnnotation) {
|
||||
codegen.context.llvm.usedFunctions.add(llvmFunction)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+7
@@ -40,6 +40,7 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.acceptVoid
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.konan.target.CompilerOutputKind
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||
@@ -590,6 +591,12 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map<IrE
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (declaration.descriptor.usedAnnotation ||
|
||||
context.config.configuration.get(KonanConfigKeys.PRODUCE) == CompilerOutputKind.DYNAMIC) {
|
||||
context.llvm.usedFunctions.add(codegen.llvmFunction(declaration.descriptor))
|
||||
}
|
||||
|
||||
if (context.shouldVerifyBitCode())
|
||||
verifyModule(context.llvmModule!!,
|
||||
"${declaration.descriptor.containingDeclaration}::${ir2string(declaration)}")
|
||||
|
||||
Reference in New Issue
Block a user