aboutsummaryrefslogtreecommitdiff
path: root/build2/target.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-01-04 15:35:39 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-01-05 15:10:01 +0200
commitd262f63ce5a7c3810abde1f66ee3bb99d56acdd0 (patch)
tree7a7114ceb95d17ebadc56f983309fb6ac5864a39 /build2/target.cxx
parent759e714238438cccf74f035e1ba11c925b27cd55 (diff)
Add support for variable aliases
Diffstat (limited to 'build2/target.cxx')
-rw-r--r--build2/target.cxx12
1 files changed, 8 insertions, 4 deletions
diff --git a/build2/target.cxx b/build2/target.cxx
index 90b2511..a5316ce 100644
--- a/build2/target.cxx
+++ b/build2/target.cxx
@@ -200,8 +200,11 @@ namespace build2
pair<lookup, size_t> r (lookup (), 0);
++r.second;
- if (auto p = vars.find (var))
- r.first = lookup (p, &vars);
+ {
+ auto p (vars.find (var));
+ if (p.first != nullptr)
+ r.first = lookup (*p.first, p.second, vars);
+ }
const target* g (nullptr);
@@ -216,8 +219,9 @@ namespace build2
? nullptr
: group->adhoc_group () ? group->group : group))
{
- if (auto p = g->vars.find (var))
- r.first = lookup (p, &g->vars);
+ auto p (g->vars.find (var));
+ if (p.first != nullptr)
+ r.first = lookup (*p.first, p.second, g->vars);
}
}