From 801a75dd4b80aabcaa939487ae65c9527c77849e Mon Sep 17 00:00:00 2001 From: Marcel Hlopko Date: Thu, 30 May 2019 10:51:25 +0200 Subject: [PATCH] Flip --incompatible_dont_enable_host_nonhost_crosstool_features RELNOTES: Incompatible flag `--incompatible_dont_enable_host_nonhost_crosstool_features` has been flipped. See https://github.com/bazelbuild/bazel/issues/7407 for more information. --- .../build/lib/rules/cpp/CppOptions.java | 2 +- .../lib/analysis/mock/cc_toolchain_config.bzl | 1 - .../cpp/CcLibraryConfiguredTargetTest.java | 58 ------------------- .../rules/cpp/CompileBuildVariablesTest.java | 3 +- .../lib/rules/cpp/LinkBuildVariablesTest.java | 2 - 5 files changed, 2 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java index 58fd83c8ef7275..abe07496f948ef 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java @@ -726,7 +726,7 @@ public Label getFdoPrefetchHintsLabel() { @Option( name = "incompatible_dont_enable_host_nonhost_crosstool_features", - defaultValue = "false", + defaultValue = "true", documentationCategory = OptionDocumentationCategory.TOOLCHAIN, effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS}, metadataTags = { diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/cc_toolchain_config.bzl b/src/test/java/com/google/devtools/build/lib/analysis/mock/cc_toolchain_config.bzl index 656604fd01c85f..9de5293b924356 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/mock/cc_toolchain_config.bzl +++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/cc_toolchain_config.bzl @@ -522,7 +522,6 @@ _thin_lto_feature = feature( ], ), ], - requires = [feature_set(features = ["nonhost"])], ) _simple_thin_lto_feature = feature( diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java index 76002e39f04ee3..6f569a68bea112 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java @@ -1229,64 +1229,6 @@ public void testCompilationModeFeatures() throws Exception { assertThat(flags).containsNoneOf("-fastbuild", "-opt"); } - private List getHostAndTargetFlags(boolean useHost, boolean isDisabledByFlag) - throws Exception { - AnalysisMock.get() - .ccSupport() - .setupCcToolchainConfig( - mockToolsConfig, - CcToolchainConfig.builder() - .withFeatures( - MockCcSupport.HOST_AND_NONHOST_CONFIGURATION_FEATURES, - CppRuleClasses.SUPPORTS_PIC)); - scratch.overwriteFile("mode/BUILD", "cc_library(name = 'a', srcs = ['a.cc'])"); - useConfiguration( - "--cpu=k8", - isDisabledByFlag - ? "--incompatible_dont_enable_host_nonhost_crosstool_features" - : "--noincompatible_dont_enable_host_nonhost_crosstool_features"); - ConfiguredTarget target; - String objectPath; - if (useHost) { - target = getHostConfiguredTarget("//mode:a"); - objectPath = "_objs/a/a.o"; - } else { - target = getConfiguredTarget("//mode:a"); - objectPath = "_objs/a/a.pic.o"; - } - Artifact objectArtifact = getBinArtifact(objectPath, target); - CppCompileAction action = (CppCompileAction) getGeneratingAction(objectArtifact); - assertThat(action).isNotNull(); - return action.getCompilerOptions(); - } - - @Test - public void testHostAndNonHostFeatures() throws Exception { - useConfiguration(); - List flags; - - flags = getHostAndTargetFlags(/* useHost= */ true, /* isDisabledByFlag= */ false); - assertThat(flags).contains("-host"); - assertThat(flags).doesNotContain("-nonhost"); - - flags = getHostAndTargetFlags(/* useHost= */ false, /* isDisabledByFlag= */ false); - assertThat(flags).contains("-nonhost"); - assertThat(flags).doesNotContain("-host"); - } - - @Test - public void testHostAndNonHostFeaturesDisabledByTheFlag() throws Exception { - List flags; - - flags = getHostAndTargetFlags(/* useHost= */ true, /* isDisabledByFlag= */ true); - assertThat(flags).doesNotContain("-host"); - assertThat(flags).doesNotContain("-nonhost"); - - flags = getHostAndTargetFlags(/* useHost= */ false, /* isDisabledByFlag= */ true); - assertThat(flags).doesNotContain("-nonhost"); - assertThat(flags).doesNotContain("-host"); - } - @Test public void testIncludePathsOutsideExecutionRoot() throws Exception { scratchRule( diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileBuildVariablesTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileBuildVariablesTest.java index 96d8c2cb2c7ece..4c508145088c1f 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileBuildVariablesTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileBuildVariablesTest.java @@ -220,8 +220,7 @@ public void testPresenceOfIsUsingFissionAndPerDebugObjectFileVariablesWithThinlt "fission_flags_for_lto_backend", CppRuleClasses.PER_OBJECT_DEBUG_INFO, CppRuleClasses.SUPPORTS_START_END_LIB, - CppRuleClasses.THIN_LTO, - MockCcSupport.HOST_AND_NONHOST_CONFIGURATION_FEATURES)); + CppRuleClasses.THIN_LTO)); useConfiguration("--fission=yes", "--features=thin_lto"); scratch.file("x/BUILD", "cc_binary(name = 'bin', srcs = ['bin.cc'])"); diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java index 706013f82509fd..bcff1372642729 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java @@ -217,7 +217,6 @@ public void testNoIfsoBuildingWhenWhenThinLtoIndexing() throws Exception { .withFeatures( CppRuleClasses.THIN_LTO, CppRuleClasses.SUPPORTS_PIC, - MockCcSupport.HOST_AND_NONHOST_CONFIGURATION_FEATURES, CppRuleClasses.SUPPORTS_INTERFACE_SHARED_LIBRARIES, CppRuleClasses.SUPPORTS_DYNAMIC_LINKER, CppRuleClasses.SUPPORTS_START_END_LIB)); @@ -343,7 +342,6 @@ public void testOutputExecpathIsNotExposedWhenThinLtoIndexing() throws Exception CcToolchainConfig.builder() .withFeatures( CppRuleClasses.THIN_LTO, - MockCcSupport.HOST_AND_NONHOST_CONFIGURATION_FEATURES, CppRuleClasses.SUPPORTS_DYNAMIC_LINKER, CppRuleClasses.SUPPORTS_PIC, CppRuleClasses.SUPPORTS_INTERFACE_SHARED_LIBRARIES,