diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2019-08-01 16:10:01 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2019-08-01 16:41:08 +0300 |
commit | 8e69e09b7ec68377758c63092f9b254e95a0d7be (patch) | |
tree | 91f29f69c5a329d3a7e8594407e8a0330d146002 /libbuild2/algorithm.ixx | |
parent | cd090e741cdee437632554d22c5ae84572c7267f (diff) |
Fix linkage failure due to inline functions defined in libbuild2/algorithm.ixx and referred from libbuild2/target.txx
Diffstat (limited to 'libbuild2/algorithm.ixx')
-rw-r--r-- | libbuild2/algorithm.ixx | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/libbuild2/algorithm.ixx b/libbuild2/algorithm.ixx index 7d68611..a3fa906 100644 --- a/libbuild2/algorithm.ixx +++ b/libbuild2/algorithm.ixx @@ -10,37 +10,6 @@ namespace build2 { inline const target& - search (const target& t, const prerequisite& p) - { - assert (phase == run_phase::match); - - const target* r (p.target.load (memory_order_consume)); - - if (r == nullptr) - r = &search_custom (p, search (t, p.key ())); - - return *r; - } - - inline const target* - search_existing (const prerequisite& p) - { - assert (phase == run_phase::match || phase == run_phase::execute); - - const target* r (p.target.load (memory_order_consume)); - - if (r == nullptr) - { - r = search_existing (p.key ()); - - if (r != nullptr) - search_custom (p, *r); - } - - return r; - } - - inline const target& search_custom (const prerequisite& p, const target& t) { assert (phase == run_phase::match || phase == run_phase::execute); @@ -469,44 +438,6 @@ namespace build2 return match (a.inner_action (), t, um); } - LIBBUILD2_SYMEXPORT group_view - resolve_members_impl (action, const target&, target_lock); - - inline group_view - resolve_members (action a, const target& g) - { - group_view r; - - if (a.outer ()) - a = a.inner_action (); - - // We can be called during execute though everything should have been - // already resolved. - // - switch (phase) - { - case run_phase::match: - { - // Grab a target lock to make sure the group state is synchronized. - // - target_lock l (lock_impl (a, g, scheduler::work_none)); - r = g.group_members (a); - - // If the group members are alrealy known or there is nothing else - // we can do, then unlock and return. - // - if (r.members == nullptr && l.offset != target::offset_executed) - r = resolve_members_impl (a, g, move (l)); - - break; - } - case run_phase::execute: r = g.group_members (a); break; - case run_phase::load: assert (false); - } - - return r; - } - LIBBUILD2_SYMEXPORT void resolve_group_impl (action, const target&, target_lock); |