Files
kotlin-fork/compiler/testData/codegen/box/binaryOp/overflowLong.kt
T
Dmitriy Novozhilov 3cffb33ab7 [FE] Drop ApproximateIntegerLiteralTypesInReceiverPosition language feature
This feature is not needed because it is unconditionally disabled for K1
  (because of not fully correct implementation) and unconditionally enabled
  in K2 (K2 does not support old behavior)

^KT-38895
2022-12-09 15:10:02 +00:00

15 lines
460 B
Kotlin
Vendored

fun box(): String {
val a: Long = 2147483647 + 1
if (a != -2147483648L) return "fail: in this case we should add to ints and than cast the result to long - overflow expected"
val l1 = Long.MAX_VALUE
val l2 = l1 + 1
if (l2 > l1) return "fail: Long.MAX_VALUE + 1 should overflow to negative."
val l3 = Long.MIN_VALUE
val l4 = l3 - 1
if (l4 < l3) return "fail: Long.MIN_VALUE - 1 should overflow to positive."
return "OK"
}