diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-07-14 14:38:40 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-07-14 14:38:40 -0700 |
| commit | 4696cd3e09c4e33519dbb53a41c32bbdfd97f6f6 (patch) | |
| tree | 82757e8ebf565c4960c639e3604f4247daef4dc9 /src/ir.cpp | |
| parent | 67273cbe7618253bffa56298b5bea0e1dd37dfc2 (diff) | |
| download | zig-4696cd3e09c4e33519dbb53a41c32bbdfd97f6f6.tar.gz zig-4696cd3e09c4e33519dbb53a41c32bbdfd97f6f6.zip | |
fix ability to call methods on enums with pointer-to-self
closes #3218
Diffstat (limited to 'src/ir.cpp')
| -rw-r--r-- | src/ir.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/ir.cpp b/src/ir.cpp index dc380b4389..0dd8f4e86a 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -20182,7 +20182,7 @@ static IrInstGen *ir_analyze_fn_call(IrAnalyze *ira, IrInst* source_instr, } IrInstGen *first_arg; - if (!first_arg_known_bare && handle_is_ptr(ira->codegen, first_arg_ptr->value->type->data.pointer.child_type)) { + if (!first_arg_known_bare) { first_arg = first_arg_ptr; } else { first_arg = ir_get_deref(ira, &first_arg_ptr->base, first_arg_ptr, nullptr); @@ -20522,9 +20522,7 @@ static IrInstGen *ir_analyze_fn_call(IrAnalyze *ira, IrInst* source_instr, return ira->codegen->invalid_inst_gen; IrInstGen *first_arg; - if (param_type->id == ZigTypeIdPointer && - handle_is_ptr(ira->codegen, first_arg_ptr->value->type->data.pointer.child_type)) - { + if (param_type->id == ZigTypeIdPointer) { first_arg = first_arg_ptr; } else { first_arg = ir_get_deref(ira, &first_arg_ptr->base, first_arg_ptr, nullptr); |
