aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-06-05 20:24:11 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-06-05 23:26:43 -0400
commit0ccc18686921dce8e7f2feb95eed83b894ca8df4 (patch)
treef41d5aa70377acd832edb05243f00ea91ff51d82 /src/analyze.cpp
parentbbb565a21e40f305b9fa10c385124455fafe647f (diff)
downloadzig-0ccc18686921dce8e7f2feb95eed83b894ca8df4.tar.gz
zig-0ccc18686921dce8e7f2feb95eed83b894ca8df4.zip
disable field access for unknown length pointers
See #770
Diffstat (limited to 'src/analyze.cpp')
-rw-r--r--src/analyze.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp
index 0adb992798..15f08aa3fe 100644
--- a/src/analyze.cpp
+++ b/src/analyze.cpp
@@ -3753,13 +3753,13 @@ static bool is_container(TypeTableEntry *type_entry) {
}
bool is_container_ref(TypeTableEntry *type_entry) {
- return (type_entry->id == TypeTableEntryIdPointer) ?
+ return (type_entry->id == TypeTableEntryIdPointer && type_entry->data.pointer.ptr_len == PtrLenSingle) ?
is_container(type_entry->data.pointer.child_type) : is_container(type_entry);
}
TypeTableEntry *container_ref_type(TypeTableEntry *type_entry) {
assert(is_container_ref(type_entry));
- return (type_entry->id == TypeTableEntryIdPointer) ?
+ return (type_entry->id == TypeTableEntryIdPointer && type_entry->data.pointer.ptr_len == PtrLenSingle) ?
type_entry->data.pointer.child_type : type_entry;
}