aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Han-Wen Nienhuys <hanwen@google.com>2015-10-12 13:03:50 +0000
committerGravatar Lukacs Berki <lberki@google.com>2015-10-12 13:30:09 +0000
commita08512c6ada8a3b592926507ab353f3425c05085 (patch)
tree125ad39a7489216d0953d287b3c5ea018fa092a6 /src
parentfe24ff7f66f33eb84ba78b5068fe0fde685f0d6a (diff)
LTO: Don't choke on cc_library without srcs.
-- MOS_MIGRATED_REVID=105204997
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/LinkerInputs.java6
2 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
index 4d412e983c..36c197bda6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
@@ -642,6 +642,9 @@ public final class CppLinkAction extends AbstractAction {
// this is O(M*N). If we had a nested set of .o files, we could have O(M + N) instead.
NestedSetBuilder<Artifact> bitcodeBuilder = NestedSetBuilder.stableOrder();
for (LibraryToLink lib : uniqueLibraries) {
+ if (!lib.containsObjectFiles()) {
+ continue;
+ }
for (Artifact a : lib.getObjectFiles()) {
if (compiled.contains(a)) {
bitcodeBuilder.add(a);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/LinkerInputs.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/LinkerInputs.java
index 21e4146c63..1d33e637d7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/LinkerInputs.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/LinkerInputs.java
@@ -150,7 +150,7 @@ public abstract class LinkerInputs {
@Override
public Iterable<Artifact> getLTOBitcodeFiles() {
- return ImmutableList.<Artifact>of();
+ return ImmutableList.of();
}
@Override
@@ -212,7 +212,9 @@ public abstract class LinkerInputs {
this.libraryArtifact = Preconditions.checkNotNull(libraryArtifact);
this.objectFiles = objectFiles == null ? null : CollectionUtils.makeImmutable(objectFiles);
this.ltoBitcodeFiles =
- (ltoBitcodeFiles == null) ? null : CollectionUtils.makeImmutable(ltoBitcodeFiles);
+ (ltoBitcodeFiles == null)
+ ? ImmutableList.<Artifact>of()
+ : CollectionUtils.makeImmutable(ltoBitcodeFiles);
}
@Override