Fix legacy CC toolchains suite to handle an empty string for the `--compiler` flag.
This seems to happen after some types of Starlark transition.
PiperOrigin-RevId: 407586479
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSuite.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSuite.java
index ea9098e..314a1c4 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSuite.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainSuite.java
@@ -13,7 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.rules.cpp;
-
+import com.google.common.base.Strings;
import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.LicensesProvider;
@@ -45,7 +45,7 @@
String transformedCpu = ruleContext.getConfiguration().getCpu();
String compiler = cppConfiguration.getCompilerFromOptions();
- String key = transformedCpu + (compiler == null ? "" : ("|" + compiler));
+ String key = transformedCpu + (Strings.isNullOrEmpty(compiler) ? "" : ("|" + compiler));
Map<String, Label> toolchains =
ruleContext.attributes().get("toolchains", BuildType.LABEL_DICT_UNARY);
Label selectedCcToolchain = toolchains.get(key);