diff options
Diffstat (limited to 'gcc/tree-flow-inline.h')
-rw-r--r-- | gcc/tree-flow-inline.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h index 7f47bba..b87f3d2 100644 --- a/gcc/tree-flow-inline.h +++ b/gcc/tree-flow-inline.h @@ -1609,11 +1609,14 @@ get_subvars_for_var (tree var) static inline tree get_subvar_at (tree var, unsigned HOST_WIDE_INT offset) { - subvar_t sv; - - for (sv = get_subvars_for_var (var); sv; sv = sv->next) - if (SFT_OFFSET (sv->var) == offset) - return sv->var; + subvar_t sv = get_subvars_for_var (var); + unsigned int i; + tree subvar; + + /* ??? Binary search would be possible here. */ + for (i = 0; VEC_iterate (tree, sv, i, subvar); ++i) + if (SFT_OFFSET (subvar) == offset) + return subvar; return NULL_TREE; } |