Allow stale file removal build values (#167)
diff --git a/lib/BuildSystem/ExternalCommand.cpp b/lib/BuildSystem/ExternalCommand.cpp
index 6d33f4e..a26644d 100644
--- a/lib/BuildSystem/ExternalCommand.cpp
+++ b/lib/BuildSystem/ExternalCommand.cpp
@@ -242,14 +242,14 @@
assert(value.isExistingInput() || value.isMissingInput() ||
value.isMissingOutput() || value.isFailedInput() ||
value.isVirtualInput() || value.isSkippedCommand() ||
- value.isDirectoryTreeSignature());
+ value.isDirectoryTreeSignature() || value.isStaleFileRemoval());
// If the input should cause this command to skip, how should it skip?
auto getSkipValueForInput = [&]() -> llvm::Optional<BuildValue> {
// If the value is an signature, existing, or virtual input, we are always
// good.
if (value.isDirectoryTreeSignature() | value.isExistingInput() ||
- value.isVirtualInput())
+ value.isVirtualInput() || value.isStaleFileRemoval())
return llvm::None;
// We explicitly allow running the command against a missing output, under