aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/msvc.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-05-13 12:18:15 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-05-13 12:18:15 +0200
commit59692f8b9fa2b71711de78d07f031c4866024da4 (patch)
tree49962a069bbfcc424a19a524b223f7f82566f8c8 /build2/cc/msvc.cxx
parentcff78d388133e50d4b930915ae0bb2d0cafe1248 (diff)
Remove order dependence in ad hoc group handling
Also, don't match group_recipe since we neither execute nor access the state.
Diffstat (limited to 'build2/cc/msvc.cxx')
-rw-r--r--build2/cc/msvc.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/build2/cc/msvc.cxx b/build2/cc/msvc.cxx
index 32805c7..08cd43c 100644
--- a/build2/cc/msvc.cxx
+++ b/build2/cc/msvc.cxx
@@ -8,6 +8,7 @@
#include <build2/target.hxx>
#include <build2/context.hxx>
#include <build2/variable.hxx>
+#include <build2/algorithm.hxx>
#include <build2/filesystem.hxx>
#include <build2/diagnostics.hxx>
@@ -177,7 +178,7 @@ namespace build2
//
path i (
lt == otype::s
- ? t.member->as<file> ().path ().leaf ()
+ ? find_adhoc_member<libi> (t)->path ().leaf ()
: t.path ().leaf ().base () + ".lib");
if (l.find (i.string ()) != string::npos &&
@@ -467,11 +468,11 @@ namespace build2
{
if (l.owns_lock ())
{
- s->member = i;
+ s->member = i; // We are first.
l.unlock ();
}
else
- assert (s->member == i);
+ assert (find_adhoc_member<libi> (*s) == i);
// Presumably there is a DLL somewhere, we just don't know where.
//