diff options
Diffstat (limited to 'build2/scope.cxx')
-rw-r--r-- | build2/scope.cxx | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/build2/scope.cxx b/build2/scope.cxx index 75652a2..19f3b56 100644 --- a/build2/scope.cxx +++ b/build2/scope.cxx @@ -27,18 +27,26 @@ namespace build2 ++d; if (f) - if (auto l = s->target_vars.find (*tt, *tn, var)) + { + lookup l (s->target_vars.find (*tt, *tn, var)); + + if (l.defined ()) return make_pair (move (l), d); + } ++d; if (f && gt != nullptr) - if (auto l = s->target_vars.find (*gt, *gn, var)) + { + lookup l (s->target_vars.find (*gt, *gn, var)); + + if (l.defined ()) return make_pair (move (l), d); + } } ++d; - if (auto r = s->vars.find (var)) - return make_pair (lookup (r, &s->vars), d); + if (const value* v = s->vars.find (var)) + return make_pair (lookup (v, &s->vars), d); switch (var.visibility) { |