mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-03 19:58:18 +00:00
fix llvm gen tests
This commit is contained in:
parent
f7104bfe54
commit
c38f8bec75
2 changed files with 35 additions and 40 deletions
|
@ -2211,45 +2211,46 @@ fn nullable_eval_cfold() {
|
|||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-wasm", feature = "gen-dev"))]
|
||||
fn nested_switch() {
|
||||
// exposed bug with passing the right symbol/layout down into switch branch generation
|
||||
// This is also the only test_gen test that exercises Reset/Reuse (as of Aug 2022)
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
app "test" provides [main] to "./platform"
|
||||
crate::helpers::with_larger_debug_stack(||
|
||||
// exposed bug with passing the right symbol/layout down into switch branch generation
|
||||
// This is also the only test_gen test that exercises Reset/Reuse (as of Aug 2022)
|
||||
assert_evals_to!(
|
||||
indoc!(
|
||||
r#"
|
||||
app "test" provides [main] to "./platform"
|
||||
|
||||
Expr : [ZAdd Expr Expr, Val I64, Var I64]
|
||||
Expr : [ZAdd Expr Expr, Val I64, Var I64]
|
||||
|
||||
eval : Expr -> I64
|
||||
eval = \e ->
|
||||
when e is
|
||||
Var _ -> 0
|
||||
Val v -> v
|
||||
ZAdd l r -> eval l + eval r
|
||||
eval : Expr -> I64
|
||||
eval = \e ->
|
||||
when e is
|
||||
Var _ -> 0
|
||||
Val v -> v
|
||||
ZAdd l r -> eval l + eval r
|
||||
|
||||
constFolding : Expr -> Expr
|
||||
constFolding = \e ->
|
||||
when e is
|
||||
ZAdd e1 e2 ->
|
||||
when Pair e1 e2 is
|
||||
Pair (Val a) (Val b) -> Val (a+b)
|
||||
Pair (Val a) (ZAdd x (Val b)) -> ZAdd (Val (a+b)) x
|
||||
Pair _ _ -> ZAdd e1 e2
|
||||
constFolding : Expr -> Expr
|
||||
constFolding = \e ->
|
||||
when e is
|
||||
ZAdd e1 e2 ->
|
||||
when Pair e1 e2 is
|
||||
Pair (Val a) (Val b) -> Val (a+b)
|
||||
Pair (Val a) (ZAdd x (Val b)) -> ZAdd (Val (a+b)) x
|
||||
Pair _ _ -> ZAdd e1 e2
|
||||
|
||||
|
||||
_ -> e
|
||||
_ -> e
|
||||
|
||||
|
||||
expr : Expr
|
||||
expr = ZAdd (Val 3) (ZAdd (Val 4) (Val 5))
|
||||
expr : Expr
|
||||
expr = ZAdd (Val 3) (ZAdd (Val 4) (Val 5))
|
||||
|
||||
main : I64
|
||||
main = eval (constFolding expr)
|
||||
"#
|
||||
),
|
||||
12,
|
||||
i64
|
||||
);
|
||||
main : I64
|
||||
main = eval (constFolding expr)
|
||||
"#
|
||||
),
|
||||
12,
|
||||
i64
|
||||
));
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -4522,8 +4523,8 @@ fn linked_list_trmc() {
|
|||
Nil -> 0
|
||||
Cons _ rest -> 1 + length rest
|
||||
|
||||
main : I64
|
||||
main =
|
||||
main : I64
|
||||
main =
|
||||
repeat "foo" 5
|
||||
|> length
|
||||
"#
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue