From 5241c7f705beec246f282fcf64e22bbb482a7cba Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 14 Jun 2023 11:37:01 +0200 Subject: Improve dyndep_rule::{inject,verify}_existing_file() documentation --- libbuild2/dyndep.cxx | 4 ++-- libbuild2/dyndep.hxx | 14 +++++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/libbuild2/dyndep.cxx b/libbuild2/dyndep.cxx index 6d1a32c..1b2002a 100644 --- a/libbuild2/dyndep.cxx +++ b/libbuild2/dyndep.cxx @@ -115,7 +115,7 @@ namespace build2 recipe_function* const* rf (pt[a].recipe.target ()); if (rf == nullptr || *rf != &noop_action) { - if (!updated_during_match (a, t, pts_n, pt)) + if (pts_n == 0 || !updated_during_match (a, t, pts_n, pt)) { fail << what << ' ' << pt << " has non-noop recipe" << info << "consider listing it as static prerequisite of " << t; @@ -143,7 +143,7 @@ namespace build2 recipe_function* const* rf (pt[a].recipe.target ()); if (rf == nullptr || *rf != &noop_action) { - if (!updated_during_match (a, t, pts_n, pt)) + if (pts_n == 0 || !updated_during_match (a, t, pts_n, pt)) { dr << fail << what << ' ' << pt << " has non-noop recipe"; } diff --git a/libbuild2/dyndep.hxx b/libbuild2/dyndep.hxx index 4081d19..bbda030 100644 --- a/libbuild2/dyndep.hxx +++ b/libbuild2/dyndep.hxx @@ -57,8 +57,10 @@ namespace build2 bool adhoc = false, uintptr_t data = 0); - // As above but verify the file is matched with noop_recipe and issue - // diagnostics and fail otherwise (regardless of the fail flag). + // As above but verify the file is matched with noop_recipe or was updated + // during match and issue diagnostics and fail otherwise (regardless of + // the fail flag). Pass 0 for pts_n if don't want the "was updated during + // match" part. // // This version (together with verify_existing_file() below) is primarily // useful for handling dynamic dependencies that are produced as a @@ -77,9 +79,11 @@ namespace build2 bool adhoc = false, uintptr_t data = 0); - // Verify the file is matched with noop_recipe and issue diagnostics and - // fail otherwise. If the file is not matched, then fail if the target is - // not implied (that is, declared in a buildfile). + // Verify the file is matched with noop_recipe or was updated during match + // and issue diagnostics and fail otherwise. If the file is not matched, + // then fail if the target is not implied (that is, declared in a + // buildfile). Pass 0 for pts_n if don't want the "was updated during + // match" part. // // Note: can only be called in the execute phase. // -- cgit v1.1