aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2')
-rw-r--r--libbuild2/cc/compile-rule.cxx21
-rw-r--r--libbuild2/depdb.cxx3
2 files changed, 15 insertions, 9 deletions
diff --git a/libbuild2/cc/compile-rule.cxx b/libbuild2/cc/compile-rule.cxx
index 1758749..55bfc2c 100644
--- a/libbuild2/cc/compile-rule.cxx
+++ b/libbuild2/cc/compile-rule.cxx
@@ -935,8 +935,11 @@ namespace build2
u = dd.mtime > mt;
}
+ // If updating for any of the above reasons, treat it as if doesn't
+ // exist.
+ //
if (u)
- mt = timestamp_nonexistent; // Treat as if it doesn't exist.
+ mt = timestamp_nonexistent;
// Update prerequisite targets (normally just the source file).
//
@@ -1026,14 +1029,14 @@ namespace build2
dd.write (p.second);
}
//
- // Don't clear if it was forced or the checksum should not be
- // relied upon.
+ // Don't clear the update flag if it was forced or the checksum
+ // should not be relied upon.
//
else if (first && !p.second.empty ())
{
// Clear the update flag and set the touch flag. Unless there
- // is no object file, of course. See also the md.mt logic
- // below.
+ // is no (usable) object file, of course. See also the md.mt
+ // logic below.
//
if (mt != timestamp_nonexistent)
{
@@ -1108,7 +1111,7 @@ namespace build2
// Note: trace is used in a test.
//
- l5 ([&]{trace << "extracting modules from " << t;});
+ l5 ([&]{trace << "extracting modules from " << src;});
// Extract the module dependency information in addition to header
// dependencies.
@@ -1191,11 +1194,11 @@ namespace build2
// somehow need to remember two timestamps: one for checking
// "preprocessor prerequisites" above and one for checking other
// prerequisites (like modules) below. So what we are going to do is
- // store the first in the target file (so we do touch it) and the
+ // "store" the first in the target file (so we do touch it) and the
// second in depdb (which is never newer that the target).
//
- // Perhaps when we start keeping the partially preprocessed this will
- // fall away? Yes, please.
+ // Perhaps when we start keeping the partially preprocessed output
+ // this will fall away? Yes, please.
//
md.mt = u ? timestamp_nonexistent : dd.mtime;
}
diff --git a/libbuild2/depdb.cxx b/libbuild2/depdb.cxx
index 4a40862..86fbece 100644
--- a/libbuild2/depdb.cxx
+++ b/libbuild2/depdb.cxx
@@ -311,6 +311,9 @@ namespace build2
// descriptor. Or it might be slower since so far we've only been
// reading.
//
+ // Note also that utime() on Windows is a bad idea (see touch_file() for
+ // details).
+ //
pos_ = buf_->tellg (); // The last line is accepted.
change (false /* truncate */); // Write end marker below.
}