diff --git a/dataset/GitHub_Java/bazelbuild.bazel/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java b/dataset/GitHub_Java/bazelbuild.bazel/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java index a0ef445fdfd..4593a15413e 100644 --- a/dataset/GitHub_Java/bazelbuild.bazel/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java +++ b/dataset/GitHub_Java/bazelbuild.bazel/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java @@ -49,6 +49,7 @@ @AutoCodec public final class CcToolchainProvider extends ToolchainInfo implements CcToolchainProviderApi, HasCcToolchainLabel { + public static final String SKYLARK_NAME = "CcToolchainInfo"; /** An empty toolchain to be returned in the error case (instead of null). */ public static final CcToolchainProvider EMPTY_TOOLCHAIN_IS_ERROR = diff --git a/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java b/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java index 9b06bb3432d..0b3fbf23004 100644 --- a/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java +++ b/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/packages/util/MockCcSupport.java @@ -310,17 +310,6 @@ public boolean apply(Artifact artifact) { public static final String FDO_IMPLICIT_THINLTO_CONFIGURATION = "" + "feature { name: 'fdo_implicit_thinlto'}"; - public static final String ENABLE_XFDO_THINLTO_CONFIGURATION = - "" - + "feature {" - + " name: 'enable_xbinaryfdo_thinlto'" - + " requires { feature: 'xbinaryfdo_implicit_thinlto' }" - + " implies: 'thin_lto'" - + "}"; - - public static final String XFDO_IMPLICIT_THINLTO_CONFIGURATION = - "" + "feature { name: 'xbinaryfdo_implicit_thinlto'}"; - public static final String AUTO_FDO_CONFIGURATION = "" + "feature {" diff --git a/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileBuildVariablesTest.java b/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileBuildVariablesTest.java index a5ef1c1b1b3..dad0929812c 100644 --- a/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileBuildVariablesTest.java +++ b/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileBuildVariablesTest.java @@ -20,7 +20,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.Artifact; -import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget; import com.google.devtools.build.lib.analysis.util.AnalysisMock; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.packages.util.MockCcSupport; @@ -186,87 +185,6 @@ public void testPresenceOfPerObjectDebugFileBuildVariable() throws Exception { .isNotNull(); } - @Test - public void testPresenceOfIsUsingFissionVariable() throws Exception { - AnalysisMock.get() - .ccSupport() - .setupCrosstool(mockToolsConfig, MockCcSupport.PER_OBJECT_DEBUG_INFO_CONFIGURATION); - useConfiguration("--fission=yes"); - - scratch.file("x/BUILD", "cc_binary(name = 'bin', srcs = ['bin.cc'])"); - scratch.file("x/bin.cc"); - - CcToolchainVariables variables = getCompileBuildVariables("//x:bin", "bin"); - - assertThat( - variables.getStringVariable(CompileBuildVariables.IS_USING_FISSION.getVariableName())) - .isNotNull(); - } - - @Test - public void testPresenceOfIsUsingFissionAndPerDebugObjectFileVariablesWithThinlto() - throws Exception { - AnalysisMock.get() - .ccSupport() - .setupCrosstool( - mockToolsConfig, - "feature {", - " name: 'fission_flags_for_lto_backend'", - " enabled: true", - " flag_set {", - " action: 'lto-backend'", - " flag_group {", - " expand_if_all_available: 'is_using_fission'", - " flag: '-'", - " }", - " flag_group {", - " expand_if_all_available: 'per_object_debug_info_file'", - " flag: '-'", - " }", - " }", - "}", - MockCcSupport.PER_OBJECT_DEBUG_INFO_CONFIGURATION, - "supports_start_end_lib: true", - MockCcSupport.THIN_LTO_CONFIGURATION, - MockCcSupport.HOST_AND_NONHOST_CONFIGURATION); - useConfiguration("--fission=yes", "--features=thin_lto"); - - scratch.file("x/BUILD", "cc_binary(name = 'bin', srcs = ['bin.cc'])"); - scratch.file("x/bin.cc"); - - RuleConfiguredTarget target = (RuleConfiguredTarget) getConfiguredTarget("//x:bin"); - LtoBackendAction backendAction = - (LtoBackendAction) - target.getActions().stream() - .filter(a -> a.getMnemonic().equals("CcLtoBackendCompile")) - .findFirst() - .get(); - CppCompileAction bitcodeAction = - (CppCompileAction) - target.getActions().stream() - .filter(a -> a.getMnemonic().equals("CppCompile")) - .findFirst() - .get(); - - // We don't pass per_object_debug_info_file to bitcode compiles - assertThat( - bitcodeAction - .getCompileCommandLine() - .getVariables() - .isAvailable(CompileBuildVariables.IS_USING_FISSION.getVariableName())) - .isTrue(); - assertThat( - bitcodeAction - .getCompileCommandLine() - .getVariables() - .isAvailable(CompileBuildVariables.PER_OBJECT_DEBUG_INFO_FILE.getVariableName())) - .isFalse(); - - // We do pass per_object_debug_info_file to backend compiles - assertThat(backendAction.getArguments()).contains("-"); - assertThat(backendAction.getArguments()).contains("-"); - } - @Test public void testPresenceOfPerObjectDebugFileBuildVariableUsingLegacyFields() throws Exception { AnalysisMock.get().ccSupport().setupCrosstool(mockToolsConfig, "supports_fission: true"); diff --git a/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java b/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java index e41b96c62c8..be3139341c5 100644 --- a/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java +++ b/dataset/GitHub_Java/bazelbuild.bazel/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java @@ -460,9 +460,33 @@ private Action getPredecessorByInputName(Action action, String str) { return null; } + @Test + public void testUserLinkFlags() throws Exception { + useConfiguration("--linkopt=-bar", "--noexperimental_linkopts_in_user_link_flags"); + + scratch.file("x/BUILD", "cc_binary(name = 'foo', srcs = ['a.cc'], linkopts = ['-foo'])"); + scratch.file("x/a.cc"); + + ConfiguredTarget testTarget = getConfiguredTarget("//x:foo"); + CcToolchainVariables testVariables = + getLinkBuildVariables(testTarget, LinkTargetType.EXECUTABLE); + + ImmutableList userLinkFlags = + CcToolchainVariables.toStringList( + testVariables, LinkBuildVariables.USER_LINK_FLAGS.getVariableName()); + assertThat(userLinkFlags).contains("-foo"); + assertThat(userLinkFlags).doesNotContain("-bar"); + + ImmutableList legacyLinkFlags = + CcToolchainVariables.toStringList( + testVariables, LinkBuildVariables.LEGACY_LINK_FLAGS.getVariableName()); + assertThat(legacyLinkFlags).doesNotContain("-foo"); + assertThat(legacyLinkFlags).contains("-bar"); + } + @Test public void testUserLinkFlagsWithLinkoptOption() throws Exception { - useConfiguration("--linkopt=-bar"); + useConfiguration("--linkopt=-bar", "--experimental_linkopts_in_user_link_flags"); scratch.file("x/BUILD", "cc_binary(name = 'foo', srcs = ['a.cc'], linkopts = ['-foo'])"); scratch.file("x/a.cc");