JVM: Fix constant folding for unsigned values
This commit is contained in:
committed by
Dmitry Petrov
parent
732405895f
commit
d3d4e94cd6
@@ -1,5 +1,4 @@
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM
|
||||
// IGNORE_BACKEND: WASM
|
||||
|
||||
val a = "INT " + 0x8fffffffU
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: WASM
|
||||
|
||||
const val a = "INT " + 0x8fffffffU
|
||||
const val b = "BYTE " + 0x8ffU
|
||||
const val c = "LONG " + 0xffff_ffff_ffffU
|
||||
|
||||
const val uint = 0x8fffffffU
|
||||
const val ubyte = 0x8ffU
|
||||
const val ulong = 0xffff_ffff_ffffU
|
||||
|
||||
const val aa = "INT " + uint
|
||||
const val bb = "BYTE " + ubyte
|
||||
const val cc = "LONG " + ulong
|
||||
|
||||
|
||||
fun box(): String {
|
||||
if (a != "INT 2415919103") {
|
||||
return "FAIL 0: $a"
|
||||
}
|
||||
if (aa != "INT 2415919103") {
|
||||
return "FAIL 1: $aa"
|
||||
}
|
||||
|
||||
if (b != "BYTE 2303") {
|
||||
return "FAIL 2: $b"
|
||||
}
|
||||
if (bb != "BYTE 2303") {
|
||||
return "FAIL 3: $bb"
|
||||
}
|
||||
|
||||
|
||||
if (c != "LONG 281474976710655") {
|
||||
return "FAIL 4: $c"
|
||||
}
|
||||
if (cc != "LONG 281474976710655") {
|
||||
return "FAIL 5: $cc"
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user