aboutsummaryrefslogtreecommitdiff
path: root/build2/scope.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-02-02 10:20:50 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-02-13 12:42:41 +0200
commit53f02bf28dae507a51515ed6ac03226d68816494 (patch)
tree234838165e802df9c777324c0fe766ce0190d814 /build2/scope.cxx
parent601ffbd700e7c11a101215d641ea09d0181d4771 (diff)
Store extension in target map key rather than in target
This is in preparation for locking its modification/access.
Diffstat (limited to 'build2/scope.cxx')
-rw-r--r--build2/scope.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/build2/scope.cxx b/build2/scope.cxx
index 0c80052..0b76647 100644
--- a/build2/scope.cxx
+++ b/build2/scope.cxx
@@ -621,7 +621,7 @@ namespace build2
return r;
}
- static target*
+ static pair<target*, optional<string>>
derived_tt_factory (const target_type& t,
dir_path d,
dir_path o,
@@ -639,8 +639,8 @@ namespace build2
const target_type* bt (t.base);
for (; bt->factory == &derived_tt_factory; bt = bt->base) ;
- target* r (bt->factory (t, move (d), move (o), move (n), move (e)));
- r->derived_type = &t;
+ auto r (bt->factory (t, move (d), move (o), move (n), move (e)));
+ r.first->derived_type = &t;
return r;
}