diff options
author | Luis Fernando Pino Duque <lpino@google.com> | 2017-02-21 17:24:59 +0000 |
---|---|---|
committer | Irina Iancu <elenairina@google.com> | 2017-02-22 08:26:19 +0000 |
commit | 2769ffd3bd5766db21e6b52380d464b61558fb30 (patch) | |
tree | ce3118d10986da5f819c7e70f725a53450f1c27b /src/main/java/com/google/devtools/build/lib/rules | |
parent | 95d229a2a4f1860b3f6d1ad7ebc35b5ed336a093 (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/java/com/google/devtools/build/lib/rules')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java | 8 |
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) { |