diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt index 75dff7d1e38..7a42008931e 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt @@ -911,7 +911,7 @@ internal class CAdapterGenerator(val context: Context) : DeclarationDescriptorVi |KObjHeader* DerefStablePointer(void*, KObjHeader**) RUNTIME_NOTHROW; |void* CreateStablePointer(KObjHeader*) RUNTIME_NOTHROW; |void DisposeStablePointer(void*) RUNTIME_NOTHROW; - |int IsInstance(const KObjHeader*, const KTypeInfo*) RUNTIME_NOTHROW; + |${prefix}_KBoolean IsInstance(const KObjHeader*, const KTypeInfo*) RUNTIME_NOTHROW; |void EnterFrame(KObjHeader** start, int parameters, int count) RUNTIME_NOTHROW; |void LeaveFrame(KObjHeader** start, int parameters, int count) RUNTIME_NOTHROW; |void Kotlin_initRuntimeIfNeeded(); diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index 413aee2882f..3c2ce4608b7 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -3675,6 +3675,8 @@ dynamicTest("produce_dynamic") { "singleton = I am single\n" + "mutable = foo\n" + "topLevel = 777 3\n" + + "IsInstance1 = PASS\n" + + "IsInstance2 = PASS\n" + "getVector128 = (1, 2, 3, 4)\n" + "Error handler: kotlin.Error: Expected error\n" } diff --git a/backend.native/tests/produce_dynamic/simple/main.c b/backend.native/tests/produce_dynamic/simple/main.c index ef07c9bc5bc..7ddbf5353aa 100644 --- a/backend.native/tests/produce_dynamic/simple/main.c +++ b/backend.native/tests/produce_dynamic/simple/main.c @@ -70,6 +70,9 @@ int main(void) { __ kotlin.root.testNullableWithNulls(nullableIntNull, nullableUnitNull); + printf("IsInstance1 = %s\n", __ IsInstance(singleton.pinned, __ kotlin.root.Singleton._type()) ? "PASS" : "FAIL"); + printf("IsInstance2 = %s\n", !(__ IsInstance(singleton.pinned, __ kotlin.root.Codeable._type())) ? "PASS" : "FAIL"); + testVector128(); __ DisposeStablePointer(singleton.pinned);