From eacf7f7ccd40a56d1fe761d3d30ced6c6acd58da Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 1 Nov 2018 13:00:16 +0200 Subject: Add support for rule-specific variables, use to fix cc.type data race --- build2/cc/common.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'build2/cc/common.cxx') diff --git a/build2/cc/common.cxx b/build2/cc/common.cxx index ae125a5..a1a17f7 100644 --- a/build2/cc/common.cxx +++ b/build2/cc/common.cxx @@ -80,9 +80,10 @@ namespace build2 // See what type of library this is (C, C++, etc). Use it do decide // which x.libs variable name to use. If it's unknown, then we only - // look into prerequisites. + // look into prerequisites. Note: lookup starting from rule-specific + // variables (target should already be matched). // - const string* t (cast_null (l.vars[c_type])); + const string* t (cast_null (l.state[a][c_type])); bool impl (proc_impl && proc_impl (l, la)); bool cc (false), same (false); -- cgit v1.1