aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
index f281e1bf7e..362ada1878 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
@@ -218,7 +218,8 @@ public class FakeCppCompileAction extends CppCompileAction {
outputPrefix + ShellEscaper.escapeString(outputFile.getExecPathString());
}
if (input.equals(outputFile.getExecPathString())
- || input.equals(getDotdFile().getSafeExecPath().getPathString())) {
+ || (getDotdFile() != null
+ && input.equals(getDotdFile().getSafeExecPath().getPathString()))) {
result = outputPrefix + ShellEscaper.escapeString(input);
}
return result;
@@ -231,8 +232,12 @@ public class FakeCppCompileAction extends CppCompileAction {
try {
// Ensure that the .d file and .o file are siblings, so that the "mkdir" below works for
// both.
- Preconditions.checkState(outputFile.getExecPath().getParentDirectory().equals(
- getDotdFile().getSafeExecPath().getParentDirectory()));
+ Preconditions.checkState(
+ getDotdFile() == null
+ || outputFile
+ .getExecPath()
+ .getParentDirectory()
+ .equals(getDotdFile().getSafeExecPath().getParentDirectory()));
FileSystemUtils.writeContent(
actionExecutionContext.getInputPath(outputFile),
ISO_8859_1,