Commit 8583fd7f9f
Changed files (2)
src
test
src/codegen.cpp
@@ -1480,7 +1480,9 @@ static LLVMValueRef gen_cmp_expr(CodeGen *g, AstNode *node) {
} else {
zig_unreachable();
}
- } else if (op1_type->id == TypeTableEntryIdPureError) {
+ } else if (op1_type->id == TypeTableEntryIdPureError ||
+ op1_type->id == TypeTableEntryIdPointer)
+ {
LLVMIntPredicate pred = cmp_op_to_int_predicate(node->data.bin_op_expr.bin_op, false);
return LLVMBuildICmp(g->builder, pred, val1, val2, "");
} else {
test/self_hosted.zig
@@ -1322,3 +1322,14 @@ fn pass_slice_of_empty_struct_to_fn() {
fn test_pass_slice_of_empty_struct_to_fn(slice: []EmptyStruct2) -> isize {
slice.len
}
+
+
+#attribute("test")
+fn pointer_comparison() {
+ const a = ([]u8)("a");
+ const b = &a;
+ assert(ptr_eql(b, b));
+}
+fn ptr_eql(a: &[]u8, b: &[]u8) -> bool {
+ a == b
+}