'clang/Logic error': zero-init MarkTreeIter vars

This commit is contained in:
Jan Edmund Lazo
2020-02-22 11:18:05 -05:00
parent eba8a9ca1d
commit 0eb2f2be60
2 changed files with 10 additions and 9 deletions

View File

@@ -86,7 +86,7 @@ uint64_t extmark_set(buf_T *buf, uint64_t ns_id, uint64_t id,
extmark_del(buf, ns_id, id); extmark_del(buf, ns_id, id);
} else { } else {
// TODO(bfredl): we need to do more if "revising" a decoration mark. // TODO(bfredl): we need to do more if "revising" a decoration mark.
MarkTreeIter itr[1]; MarkTreeIter itr[1] = { 0 };
old_pos = marktree_lookup(buf->b_marktree, old_mark, itr); old_pos = marktree_lookup(buf->b_marktree, old_mark, itr);
assert(itr->node); assert(itr->node);
if (old_pos.row == row && old_pos.col == col) { if (old_pos.row == row && old_pos.col == col) {
@@ -119,7 +119,7 @@ revised:
static bool extmark_setraw(buf_T *buf, uint64_t mark, int row, colnr_T col) static bool extmark_setraw(buf_T *buf, uint64_t mark, int row, colnr_T col)
{ {
MarkTreeIter itr[1]; MarkTreeIter itr[1] = { 0 };
mtpos_t pos = marktree_lookup(buf->b_marktree, mark, itr); mtpos_t pos = marktree_lookup(buf->b_marktree, mark, itr);
if (pos.row == -1) { if (pos.row == -1) {
return false; return false;
@@ -147,7 +147,7 @@ bool extmark_del(buf_T *buf, uint64_t ns_id, uint64_t id)
return false; return false;
} }
MarkTreeIter itr[1]; MarkTreeIter itr[1] = { 0 };
mtpos_t pos = marktree_lookup(buf->b_marktree, mark, itr); mtpos_t pos = marktree_lookup(buf->b_marktree, mark, itr);
assert(pos.row >= 0); assert(pos.row >= 0);
marktree_del_itr(buf->b_marktree, itr, false); marktree_del_itr(buf->b_marktree, itr, false);
@@ -207,7 +207,7 @@ bool extmark_clear(buf_T *buf, uint64_t ns_id,
delete_set = map_new(uint64_t, uint64_t)(); delete_set = map_new(uint64_t, uint64_t)();
} }
MarkTreeIter itr[1]; MarkTreeIter itr[1] = { 0 };
marktree_itr_get(buf->b_marktree, l_row, l_col, itr); marktree_itr_get(buf->b_marktree, l_row, l_col, itr);
while (true) { while (true) {
mtmark_t mark = marktree_itr_current(itr); mtmark_t mark = marktree_itr_current(itr);
@@ -276,7 +276,7 @@ ExtmarkArray extmark_get(buf_T *buf, uint64_t ns_id,
int64_t amount, bool reverse) int64_t amount, bool reverse)
{ {
ExtmarkArray array = KV_INITIAL_VALUE; ExtmarkArray array = KV_INITIAL_VALUE;
MarkTreeIter itr[1]; MarkTreeIter itr[1] = { 0 };
// Find all the marks // Find all the marks
marktree_itr_get_ext(buf->b_marktree, (mtpos_t){ l_row, l_col }, marktree_itr_get_ext(buf->b_marktree, (mtpos_t){ l_row, l_col },
itr, reverse, false, NULL); itr, reverse, false, NULL);
@@ -396,7 +396,7 @@ void u_extmark_copy(buf_T *buf,
ExtmarkUndoObject undo; ExtmarkUndoObject undo;
MarkTreeIter itr[1]; MarkTreeIter itr[1] = { 0 };
marktree_itr_get(buf->b_marktree, l_row, l_col, itr); marktree_itr_get(buf->b_marktree, l_row, l_col, itr);
while (true) { while (true) {
mtmark_t mark = marktree_itr_current(itr); mtmark_t mark = marktree_itr_current(itr);
@@ -738,7 +738,7 @@ void clear_virttext(VirtText *text)
VirtText *extmark_find_virttext(buf_T *buf, int row, uint64_t ns_id) VirtText *extmark_find_virttext(buf_T *buf, int row, uint64_t ns_id)
{ {
MarkTreeIter itr[1]; MarkTreeIter itr[1] = { 0 };
marktree_itr_get(buf->b_marktree, row, 0, itr); marktree_itr_get(buf->b_marktree, row, 0, itr);
while (true) { while (true) {
mtmark_t mark = marktree_itr_current(itr); mtmark_t mark = marktree_itr_current(itr);

View File

@@ -849,7 +849,8 @@ bool marktree_splice(MarkTree *b,
bool same_line = old_extent.row == 0 && new_extent.row == 0; bool same_line = old_extent.row == 0 && new_extent.row == 0;
unrelative(start, &old_extent); unrelative(start, &old_extent);
unrelative(start, &new_extent); unrelative(start, &new_extent);
MarkTreeIter itr[1], enditr[1]; MarkTreeIter itr[1] = { 0 };
MarkTreeIter enditr[1] = { 0 };
mtpos_t oldbase[MT_MAX_DEPTH]; mtpos_t oldbase[MT_MAX_DEPTH];
@@ -1003,7 +1004,7 @@ void marktree_move_region(MarkTree *b,
mtpos_t start = { start_row, start_col }, size = { extent_row, extent_col }; mtpos_t start = { start_row, start_col }, size = { extent_row, extent_col };
mtpos_t end = size; mtpos_t end = size;
unrelative(start, &end); unrelative(start, &end);
MarkTreeIter itr[1]; MarkTreeIter itr[1] = { 0 };
marktree_itr_get_ext(b, start, itr, false, true, NULL); marktree_itr_get_ext(b, start, itr, false, true, NULL);
kvec_t(mtkey_t) saved = KV_INITIAL_VALUE; kvec_t(mtkey_t) saved = KV_INITIAL_VALUE;
while (itr->node) { while (itr->node) {