diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index 55147a82d03..6b93fd48495 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -904,3 +904,13 @@ task inline3(type: RunKonanTest) { goldValue = "5\n" source = "codegen/inline/inline3.kt" } + +task inline4(type: RunKonanTest) { + goldValue = "1\n" + source = "codegen/inline/inline4.kt" +} + +//task inline5(type: RunKonanTest) { +// goldValue = "9\n" +// source = "codegen/inline/inline5.kt" +//} diff --git a/backend.native/tests/codegen/inline/inline5.kt b/backend.native/tests/codegen/inline/inline5.kt new file mode 100644 index 00000000000..819fb790596 --- /dev/null +++ b/backend.native/tests/codegen/inline/inline5.kt @@ -0,0 +1,16 @@ +// @Suppress("NOTHING_TO_INLINE") +fun foo(i4: Int, i5: Int): Int { + try { + return i4 / i5 + } catch (e: Exception) { + return i4 + } +} + +fun bar(i1: Int, i2: Int, i3: Int): Int { + return i1 + foo(i2, i3) +} + +fun main(args: Array) { + println(bar(1, 8, 0).toString()) +} diff --git a/backend.native/tests/codegen/inline/inline6.kt b/backend.native/tests/codegen/inline/inline6.kt new file mode 100644 index 00000000000..e8f0c62a633 --- /dev/null +++ b/backend.native/tests/codegen/inline/inline6.kt @@ -0,0 +1,15 @@ +//@Suppress("NOTHING_TO_INLINE") +//inline fun foo(body: () -> Unit) { +fun foo(body: () -> Unit) { + body() +} + +fun bar() { + foo { + println("hello") + } +} + +fun main(args: Array) { + bar() +}