[K/N] Reenable constant inlining except for Double nan constants

^KT-52970
This commit is contained in:
Pavel Kunyavskiy
2022-09-02 11:24:16 +02:00
committed by Space
parent b8b0b279ee
commit d822d3e7c6
5 changed files with 32 additions and 5 deletions
@@ -76,3 +76,8 @@ enum {
void increment(int* counter);
#define increment(counter) { (*(counter))++; }
#define DEFAULT_DOUBLE_NAN __builtin_nan("")
#define DEFAULT_FLOAT_NAN __builtin_nanf("")
#define OTHER_DOUBLE_NAN __builtin_nan("0x7ffc0123456789ab")
#define OTHER_FLOAT_NAN __builtin_nanf("0x7fc12345")
@@ -45,4 +45,9 @@ fun main(args: Array<String>) {
increment(counter.ptr)
assertEquals(43, counter.value)
}
assertEquals(Double.NaN.toRawBits(), DEFAULT_DOUBLE_NAN.toRawBits())
assertEquals(Float.NaN.toRawBits(), DEFAULT_FLOAT_NAN.toRawBits())
assertEquals(0x7fc12345, OTHER_FLOAT_NAN.toRawBits())
assertEquals(0x7ffc0123456789abL, OTHER_DOUBLE_NAN.toRawBits())
}