aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/link.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-01-19 12:45:04 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-01-19 12:45:04 +0200
commit5607313a91e5ca0113b1f8b9acfd02c1fb105346 (patch)
treeb14fd2737b88f90e9d142d8e6eff36876e0f8b5a /build2/cc/link.cxx
parent8ecc2d18bf86b1021a31a2e5d01e71afbaa1efd0 (diff)
Get rid of project_name_pool
With small string optimizations this is most likely a hindrance rather that an optimization.
Diffstat (limited to 'build2/cc/link.cxx')
-rw-r--r--build2/cc/link.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/build2/cc/link.cxx b/build2/cc/link.cxx
index a6b67d5..8010598 100644
--- a/build2/cc/link.cxx
+++ b/build2/cc/link.cxx
@@ -153,7 +153,7 @@ namespace build2
// Handle imported libraries.
//
- if (p.proj () != nullptr)
+ if (p.proj ())
pt = search_library (sys_lib_dirs, usr_lib_dirs, p.prerequisite);
if (pt == nullptr)
@@ -437,7 +437,10 @@ namespace build2
{
// Handle imported libraries.
//
- if (p.proj () != nullptr)
+ // Note that since the search is rule-specific, we don't cache the
+ // target in the prerequisite.
+ //
+ if (p.proj ())
pt = search_library (sys_lib_dirs, usr_lib_dirs, p.prerequisite);
// The rest is the same basic logic as in search_and_match().