diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2018-06-26 15:27:41 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2018-06-26 15:27:41 -0400 |
| commit | 11ca38a4e9c637bf6ff635f4f62634edaf89f853 (patch) | |
| tree | d5cce0cbb97bd4c7756b591066d5f10152aa8bb1 /src/ir.cpp | |
| parent | af95e1557214df4a1a34a712efc2f8dafb502c82 (diff) | |
| download | zig-11ca38a4e9c637bf6ff635f4f62634edaf89f853.tar.gz zig-11ca38a4e9c637bf6ff635f4f62634edaf89f853.zip | |
fix crash for optional pointer to empty struct
closes #1153
Diffstat (limited to 'src/ir.cpp')
| -rw-r--r-- | src/ir.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ir.cpp b/src/ir.cpp index 1930bbb248..76178f2437 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -7985,9 +7985,10 @@ static ConstCastOnly types_match_const_cast_only(IrAnalyze *ira, TypeTableEntry // * and [*] can do a const-cast-only to ?* and ?[*], respectively // but not if there is a mutable parent pointer + // and not if the pointer is zero bits if (!wanted_is_mutable && wanted_type->id == TypeTableEntryIdOptional && wanted_type->data.maybe.child_type->id == TypeTableEntryIdPointer && - actual_type->id == TypeTableEntryIdPointer) + actual_type->id == TypeTableEntryIdPointer && type_has_bits(actual_type)) { ConstCastOnly child = types_match_const_cast_only(ira, wanted_type->data.maybe.child_type, actual_type, source_node, wanted_is_mutable); |
