aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2016-10-11 16:57:08 +0000
committerGravatar Yue Gan <yueg@google.com>2016-10-12 08:55:26 +0000
commitfb1e11e67d7cba3dbcafc783f593fbb8acf6b4e4 (patch)
tree222fe580803d7ac6065f8eebbd5540d55ae82c28 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
parent978c9178f0c75770b3c0477671cc1e895515d91d (diff)
Provide a mechanism for objc code built with CppCompileAction to forego dotd
input pruning. -- MOS_MIGRATED_REVID=135807490
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
index 1d06026c93..2a8f25a955 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
@@ -46,6 +46,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.CollectionUtils;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
+import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadCompatible;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
@@ -1140,7 +1141,7 @@ public class CppCompileAction extends AbstractAction
NestedSet<Artifact> discoveredInputs =
discoverInputsFromDotdFiles(execRoot, scanningContext.getArtifactResolver(), reply);
reply = null; // Clear in-memory .d files early.
-
+
// Post-execute "include scanning", which modifies the action inputs to match what the compile
// action actually used by incorporating the results of .d file parsing.
//
@@ -1165,8 +1166,8 @@ public class CppCompileAction extends AbstractAction
public NestedSet<Artifact> discoverInputsFromDotdFiles(
Path execRoot, ArtifactResolver artifactResolver, Reply reply)
throws ActionExecutionException {
- if (getDotdFile() == null) {
- return NestedSetBuilder.<Artifact>stableOrder().build();
+ if (!cppSemantics.needsDotdInputPruning() || getDotdFile() == null) {
+ return NestedSetBuilder.emptySet(Order.STABLE_ORDER);
}
HeaderDiscovery.Builder discoveryBuilder =
new HeaderDiscovery.Builder()