diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-02-14 01:09:33 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-02-14 01:09:33 -0500 |
| commit | 59de24817e8538434f35a20a401f40c2f0231a9a (patch) | |
| tree | 7c06cd2749d2bb449742fc98dac59ab82a480b48 /src/analyze.cpp | |
| parent | d4d2718bca9e23ceec029bb505c0ea1b91c875b6 (diff) | |
| download | zig-59de24817e8538434f35a20a401f40c2f0231a9a.tar.gz zig-59de24817e8538434f35a20a401f40c2f0231a9a.zip | |
runtime safety check for casting null to pointer
see #1059
Diffstat (limited to 'src/analyze.cpp')
| -rw-r--r-- | src/analyze.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp index 900def52d4..6a8090a843 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -6902,3 +6902,12 @@ const char *container_string(ContainerKind kind) { } zig_unreachable(); } + +bool ptr_allows_addr_zero(ZigType *ptr_type) { + if (ptr_type->id == ZigTypeIdPointer) { + return ptr_type->data.pointer.allow_zero; + } else if (ptr_type->id == ZigTypeIdOptional) { + return true; + } + return false; +} |
