Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

73 lines
756 B
Plaintext

# @TEST-EXEC: hiltic %INPUT -p -o noopt.hlt -g
# @TEST-EXEC: btest-diff noopt.hlt
#
# @TEST-EXEC: hiltic %INPUT -p -o opt.hlt -D optimizer 2>&1 | sort -k 3 > log
# @TEST-EXEC: btest-diff opt.hlt
# @TEST-EXEC: btest-diff log
#
# @TEST-DOC: Tests optimizations performing constant folding.
module Foo {
import hilti;
const t = True;
const f = False;
hilti::print(t);
hilti::print(f);
if (t) {
0;
} else {
1;
}
if (f) {
2;
} else {
3;
}
if (t) {
4;
}
if (f) {
5;
}
t || t;
t || f;
f || t;
f || f;
t && t;
t && f;
f && t;
f && f;
! t;
! f;
t ? 1: 0;
f ? 0: 1;
# While loops over constants.
while (False) {}
while (False) {
False;
} else {
True;
}
while (True) {}
while (True) {
True;
} else {
False;
}
}