Remove implicit _stl attribute from C++ rules.
PiperOrigin-RevId: 695922607
Change-Id: I42bae9605bea5c2b4fea6a6a83f060bef1bea53e
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java
index 5309498..ee7ae99 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java
@@ -44,15 +44,12 @@
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.packages.Attribute.ComputedDefault;
-import com.google.devtools.build.lib.packages.AttributeMap;
import com.google.devtools.build.lib.packages.Info;
import com.google.devtools.build.lib.packages.License;
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
import com.google.devtools.build.lib.packages.StarlarkInfo;
import com.google.devtools.build.lib.packages.StarlarkProvider;
import com.google.devtools.build.lib.packages.StructImpl;
-import com.google.devtools.build.lib.packages.Types;
import com.google.devtools.build.lib.rules.cpp.CcLinkingContext.Linkstamp;
import com.google.devtools.build.lib.rules.cpp.CcToolchainVariables.LibraryToLinkValue;
import com.google.devtools.build.lib.rules.cpp.CcToolchainVariables.SequenceBuilder;
@@ -62,7 +59,6 @@
import com.google.devtools.build.lib.skyframe.serialization.VisibleForSerialization;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.SerializationConstant;
import com.google.devtools.build.lib.starlarkbuildapi.FileApi;
-import com.google.devtools.build.lib.starlarkbuildapi.NativeComputedDefaultApi;
import com.google.devtools.build.lib.starlarkbuildapi.core.ProviderApi;
import com.google.devtools.build.lib.vfs.PathFragment;
import javax.annotation.Nullable;
@@ -290,25 +286,6 @@
}
}
- /**
- * TODO(bazel-team): This can be re-written directly to Starlark but it will cause a memory
- * regression due to the way StarlarkComputedDefault is stored for each rule.
- */
- static class StlComputedDefault extends ComputedDefault implements NativeComputedDefaultApi {
- @Override
- @Nullable
- public Object getDefault(AttributeMap rule) {
- return rule.getOrDefault("tags", Types.STRING_LIST, ImmutableList.of()).contains("__CC_STL__")
- ? null
- : Label.parseCanonicalUnchecked("@//third_party/stl");
- }
- }
-
- @StarlarkMethod(name = "stl_computed_default", documented = false)
- public ComputedDefault getStlComputedDefault() {
- return new StlComputedDefault();
- }
-
@StarlarkMethod(
name = "create_cc_launcher_info",
doc = "Create a CcLauncherInfo instance.",
diff --git a/src/main/starlark/builtins_bzl/common/cc/attrs.bzl b/src/main/starlark/builtins_bzl/common/cc/attrs.bzl
index 808c5d4..4c06a8c 100644
--- a/src/main/starlark/builtins_bzl/common/cc/attrs.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/attrs.bzl
@@ -398,7 +398,6 @@
"licenses": attr.license() if hasattr(attr, "license") else attr.string_list(),
"_cc_binary": attr.bool(),
"_is_test": attr.bool(default = False),
- "_stl": semantics.get_stl(),
# TODO(b/288421584): necessary because IDE aspect can't see toolchains
"_cc_toolchain": attr.label(default = "@" + semantics.get_repo() + "//tools/cpp:current_cc_toolchain"),
"_def_parser": semantics.get_def_parser(),
diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl
index a627675..79b8848 100755
--- a/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl
@@ -947,7 +947,6 @@
"""),
# buildifier: disable=attr-license
"licenses": attr.license() if hasattr(attr, "license") else attr.string_list(),
- "_stl": semantics.get_stl(),
"_def_parser": semantics.get_def_parser(),
# TODO(b/288421584): necessary because IDE aspect can't see toolchains
"_cc_toolchain": attr.label(default = "@" + semantics.get_repo() + "//tools/cpp:current_cc_toolchain"),
diff --git a/src/main/starlark/builtins_bzl/common/cc/semantics.bzl b/src/main/starlark/builtins_bzl/common/cc/semantics.bzl
index 37f4fe2..1bc46c5 100644
--- a/src/main/starlark/builtins_bzl/common/cc/semantics.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/semantics.bzl
@@ -31,9 +31,6 @@
def _get_semantics():
return _builtins.internal.bazel_cc_internal.semantics
-def _get_stl():
- return attr.label()
-
def _get_repo():
return "bazel_tools"
@@ -170,7 +167,6 @@
get_distribs_attr = _get_distribs_attr,
get_licenses_attr = _get_licenses_attr,
get_def_parser = _get_def_parser,
- get_stl = _get_stl,
should_create_empty_archive = _should_create_empty_archive,
get_grep_includes = _get_grep_includes,
get_implementation_deps_allowed_attr = _get_implementation_deps_allowed_attr,
diff --git a/src/main/starlark/builtins_bzl/common/python/py_internal.bzl b/src/main/starlark/builtins_bzl/common/python/py_internal.bzl
index b48f1fd..8e160cc 100644
--- a/src/main/starlark/builtins_bzl/common/python/py_internal.bzl
+++ b/src/main/starlark/builtins_bzl/common/python/py_internal.bzl
@@ -44,9 +44,6 @@
def _cc_semantics_get_runtimes_toolchain(*args, **kwargs):
return cc_semantics.get_runtimes_toolchain(*args, **kwargs)
-def _cc_semantics_get_stl(*args, **kwargs):
- return cc_semantics.get_stl(*args, **kwargs)
-
def _cc_toolchain_strip_files(cc_toolchain, *args, **kwargs):
return cc_toolchain._strip_files
@@ -166,7 +163,6 @@
cc_launcher_info_cc_info = _cc_launcher_info_cc_info,
cc_semantics_get_cc_runtimes = _cc_semantics_get_cc_runtimes,
cc_semantics_get_runtimes_toolchain = _cc_semantics_get_runtimes_toolchain,
- cc_semantics_get_stl = _cc_semantics_get_stl,
cc_toolchain_strip_files = _cc_toolchain_strip_files,
cc_toolchain_build_info_files = _cc_toolchain_build_info_files,
compilation_outputs = _compilation_outputs,