blob: 671c2128b30fb6f28c4bc5bf7b9707b5401f7e45 [file]
/*
* Copyright 2010-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
// IGNORE_NATIVE: optimizationMode=DEBUG
// IGNORE_NATIVE: optimizationMode=NO
// https://youtrack.jetbrains.com/issue/KT-69731
// IGNORE_NATIVE: gcType=CMS
import kotlin.test.*
import kotlin.native.internal.*
class C(val x: Int)
fun localArray(x: Int): Int {
val c1 = C(x + 42)
val c2 = C(x + 117)
val c3 = C(x - 1)
val allC = arrayOf(c1, c2, c3)
val array = Array(x) { allC[it % 3] }
assertTrue(c1.isStack())
assertTrue(c2.isStack())
assertTrue(c3.isStack())
assertTrue(allC.isStack())
assertFalse(array.isStack())
return array[5].x
}
fun box(): String {
assertEquals(localArray(43), 42)
return "OK"
}