Fix restat rebuild if deps are missing.
authorMaxim Kalaev <maximus.ka@gmail.com>
Mon, 2 Sep 2013 22:44:32 +0000 (15:44 -0700)
committerNico Weber <nicolasweber@gmx.de>
Mon, 2 Sep 2013 22:44:32 +0000 (15:44 -0700)
commit25a3c97a8203dff5589bc13e835b9f362a51f3ab
tree94346966a161f1a565dadaa62f99ba96ad87ac40
parent41c6258ec1928cbcfc5642504cb9c2b3659fa897
Fix restat rebuild if deps are missing.

Fixes issue #603.

Apparently, the problem was caused by my fix r "consider target dirty if
depfile is missing" (bcc8ad1), which was not working correctly with
restat rules cleaning nodes.  Switching to deps only triggered an easily
observable issue.

Fix by setting a flag in edges with invalid deps, and not cleaning edges
with that flag set.
src/build.cc
src/build_test.cc
src/graph.cc
src/graph.h