diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2024-01-07 12:19:17 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2024-01-07 12:19:17 -0500 |
commit | 4a36bb92a5bbdc41965a6d2c6eae6cdca5983474 (patch) | |
tree | 1f2767e349ece3229a8da22ba58d905309e99dfa /src/ctx.c | |
parent | 70acbc194fa1cc4972293d4e3affee5ba6fe5539 (diff) | |
download | bfs-4a36bb92a5bbdc41965a6d2c6eae6cdca5983474.tar.xz |
expr: Make expressions variadic
Rather than only unary/binary expressions, we now support an arbitrary
number of children. The optimizer has been re-written almost completely
and now supports optimal reordering of longer expression chains, rather
than just arm-swapping.
Fixes #85.
Diffstat (limited to 'src/ctx.c')
-rw-r--r-- | src/ctx.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -241,7 +241,7 @@ int bfs_ctx_free(struct bfs_ctx *ctx) { free_colors(ctx->colors); - for_slist (struct bfs_expr, expr, &ctx->expr_list) { + for_slist (struct bfs_expr, expr, &ctx->expr_list, freelist) { bfs_expr_clear(expr); } arena_destroy(&ctx->expr_arena); |