summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--stdlib/compiler.tl6
1 files changed, 6 insertions, 0 deletions
diff --git a/stdlib/compiler.tl b/stdlib/compiler.tl
index 5ff71a96..52c9a908 100644
--- a/stdlib/compiler.tl
+++ b/stdlib/compiler.tl
@@ -656,6 +656,12 @@
me.(compile oreg env nil))
(((@(member @op %test-funs%) @a @b) . @rest)
me.(compile oreg env ^(ift ,op ,a ,b ,*rest)))
+ (((@(or not null) @arg) @then @else)
+ me.(comp-if oreg env ^(if ,arg ,else ,then)))
+ (((@(or not null) @arg) @then)
+ me.(comp-if oreg env ^(if ,arg nil ,then)))
+ (((true @arg) . @args)
+ me.(comp-if oreg env ^(if ,arg ,*args)))
((@test @then @else)
(let* ((te-oreg me.(maybe-alloc-treg oreg))
(lelse (gensym "l"))