authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-04-26 11:39:31-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-04-26 11:39:31-07:00
log8ec109de3c975306e13f03789a229095a6bd40f1
treec86f81d52d63ef634193769568f2ae911906514e
parentd1fa5692c685b804181d4658afce1e53ca74ec19

ability to compare booleans


2 files changed, 10 insertions(+), 1 deletions(-)

src/codegen.cpp+2-1
......@@ -1543,7 +1543,8 @@ static LLVMValueRef gen_cmp_expr(CodeGen *g, AstNode *node) {
15431543 zig_unreachable();
15441544 }
15451545 } else if (op1_type->id == TypeTableEntryIdPureError ||
1546 op1_type->id == TypeTableEntryIdPointer)
1546 op1_type->id == TypeTableEntryIdPointer ||
1547 op1_type->id == TypeTableEntryIdBool)
15471548 {
15481549 LLVMIntPredicate pred = cmp_op_to_int_predicate(node->data.bin_op_expr.bin_op, false);
15491550 return LLVMBuildICmp(g->builder, pred, val1, val2, "");
test/self_hosted.zig+8
......@@ -1368,3 +1368,11 @@ error NoMem;
13681368error CrappedOut;
13691369#static_eval_enable(false)
13701370fn returns_ten() -> %i32 { 10 }
1371
1372
1373#attribute("test")
1374fn bool_cmp() {
1375 assert(test_bool_cmp(true, false) == false);
1376}
1377#static_eval_enable(false)
1378fn test_bool_cmp(a: bool, b: bool) -> bool { a == b }