aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar Luis Fernando Pino Duque <lpino@google.com>2017-02-21 17:24:59 +0000
committerGravatar Irina Iancu <elenairina@google.com>2017-02-22 08:26:19 +0000
commit2769ffd3bd5766db21e6b52380d464b61558fb30 (patch)
treece3118d10986da5f819c7e70f725a53450f1c27b /src/main
parent95d229a2a4f1860b3f6d1ad7ebc35b5ed336a093 (diff)
Error out when the STL label points to an undefined target when merging STL
and toolchain contexts. -- PiperOrigin-RevId: 148104218 MOS_MIGRATED_REVID=148104218
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
index 8541778e59..befcb82e13 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
@@ -90,7 +90,13 @@ public class CppHelper {
// TODO(bazel-team): Clean this up.
contextBuilder.addSystemIncludeDir(
stl.getLabel().getPackageIdentifier().getPathUnderExecRoot().getRelative("gcc3"));
- contextBuilder.mergeDependentContext(stl.getProvider(CppCompilationContext.class));
+ CppCompilationContext provider = stl.getProvider(CppCompilationContext.class);
+ if (provider == null) {
+ ruleContext.ruleError("Unable to merge the STL '" + stl.getLabel()
+ + "' and toolchain contexts");
+ return;
+ }
+ contextBuilder.mergeDependentContext(provider);
}
}
if (toolchain != null) {