aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/target.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2024-10-29 15:12:28 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2024-10-29 15:12:28 +0200
commit95da67852e7c837592a61fb44cd8acd325d16ba2 (patch)
treed4fadf2f46d11264e3c9dc347ddc944162a30632 /libbuild2/target.ixx
parent042a541b08d306e846085fa1ca42d533a6f61734 (diff)
Minor performance optimization
Diffstat (limited to 'libbuild2/target.ixx')
-rw-r--r--libbuild2/target.ixx12
1 files changed, 7 insertions, 5 deletions
diff --git a/libbuild2/target.ixx b/libbuild2/target.ixx
index 47dff3d..f8ee975 100644
--- a/libbuild2/target.ixx
+++ b/libbuild2/target.ixx
@@ -491,12 +491,14 @@ namespace build2
//
inline group_prerequisites::
group_prerequisites (const target& t)
- : t_ (t),
- g_ (t_.group == nullptr ||
- t_.group->adhoc_member != nullptr || // Ad hoc group member.
- t_.group->prerequisites ().empty ()
- ? nullptr : t_.group)
+ : t_ (t), g_ (nullptr)
{
+ if (const target* g = t_.group)
+ {
+ if (g->adhoc_member == nullptr && // Not ad hoc group member.
+ !g->prerequisites ().empty ())
+ g_ = g;
+ }
}
inline group_prerequisites::