improve stat cache dump
authorEvan Martin <martine@danga.com>
Thu, 21 Oct 2010 04:49:31 +0000 (21:49 -0700)
committerEvan Martin <martine@danga.com>
Thu, 21 Oct 2010 04:49:31 +0000 (21:49 -0700)
ninja.cc
ninja.h

index cfb9a40..6e39145 100644 (file)
--- a/ninja.cc
+++ b/ninja.cc
@@ -18,6 +18,7 @@ int main(int argc, char** argv) {
   Builder builder(&state);
   Node* node = builder.AddTarget(argv[1]);
   node->in_edge_->RecomputeDirty(builder.stat_helper_);
+  state.stat_cache()->Dump();
 
   bool success = builder.Build(&shell, &err);
   if (!err.empty()) {
diff --git a/ninja.h b/ninja.h
index d2a0697..f2044ca 100644 (file)
--- a/ninja.h
+++ b/ninja.h
@@ -204,8 +204,12 @@ FileStat* StatCache::GetFile(const string& path) {
 
 void StatCache::Dump() {
   for (Paths::iterator i = paths_.begin(); i != paths_.end(); ++i) {
-    printf("%s %s\n", i->second->path_.c_str(),
-           i->second->node_->dirty_ ? "dirty" : "clean");
+    FileStat* file = i->second;
+    printf("%s %s\n",
+           file->path_.c_str(),
+           file->status_known()
+           ? (file->node_->dirty_ ? "dirty" : "clean")
+           : "unknown");
   }
 }