diff options
author | Cal Peyser <cpeyser@google.com> | 2016-10-11 16:57:08 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2016-10-12 08:55:26 +0000 |
commit | fb1e11e67d7cba3dbcafc783f593fbb8acf6b4e4 (patch) | |
tree | 222fe580803d7ac6065f8eebbd5540d55ae82c28 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java | |
parent | 978c9178f0c75770b3c0477671cc1e895515d91d (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.java | 7 |
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() |