diff options
author | Marcel Hlopko <hlopko@google.com> | 2016-12-07 10:23:50 +0000 |
---|---|---|
committer | Laszlo Csomor <laszlocsomor@google.com> | 2016-12-07 12:53:46 +0000 |
commit | f7cf7258c5b1f11f6d8d7d2858e4c03aaff2303f (patch) | |
tree | 8758086dfbccba9bcb8a02e11a344f162416fd7d | |
parent | 33d9e2ac9c2b164e077b3018f0f483d17dc96c8a (diff) |
decide whether to strip binaries only once
CppConfiguration's constructor was computing whether to strip binaries
twice: once to fill the stripBinaries member and once to fill a local variable
that shadowed the member. Doing only the former suffices.
--
Change-Id: I20f61e71572da79e0ec315b01c04b13f4fb14960
Reviewed-on: https://cr.bazel.build/6390
PiperOrigin-RevId: 141285267
MOS_MIGRATED_REVID=141285267
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java | 18 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java | 24 |
2 files changed, 13 insertions, 29 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java index f0b6e4d61b..489f71b3d0 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java @@ -620,29 +620,21 @@ public class CppConfiguration extends BuildConfiguration.Fragment { this.ldExecutable = getToolPathFragment(CppConfiguration.Tool.LD); - boolean stripBinaries = - (cppOptions.stripBinaries == StripMode.ALWAYS) - || ((cppOptions.stripBinaries == StripMode.SOMETIMES) - && (compilationMode == CompilationMode.FASTBUILD)); - fullyStaticLinkFlags = new FlagList( - configureLinkerOptions(compilationMode, lipoMode, LinkingMode.FULLY_STATIC, - ldExecutable, stripBinaries), + configureLinkerOptions(compilationMode, lipoMode, LinkingMode.FULLY_STATIC, ldExecutable), convertOptionalOptions(toolchain.getOptionalLinkerFlagList()), ImmutableList.<String>of()); mostlyStaticLinkFlags = new FlagList( - configureLinkerOptions(compilationMode, lipoMode, LinkingMode.MOSTLY_STATIC, - ldExecutable, stripBinaries), + configureLinkerOptions(compilationMode, lipoMode, LinkingMode.MOSTLY_STATIC, ldExecutable), convertOptionalOptions(toolchain.getOptionalLinkerFlagList()), ImmutableList.<String>of()); mostlyStaticSharedLinkFlags = new FlagList( configureLinkerOptions(compilationMode, lipoMode, - LinkingMode.MOSTLY_STATIC_LIBRARIES, ldExecutable, stripBinaries), + LinkingMode.MOSTLY_STATIC_LIBRARIES, ldExecutable), convertOptionalOptions(toolchain.getOptionalLinkerFlagList()), ImmutableList.<String>of()); dynamicLinkFlags = new FlagList( - configureLinkerOptions(compilationMode, lipoMode, LinkingMode.DYNAMIC, - ldExecutable, stripBinaries), + configureLinkerOptions(compilationMode, lipoMode, LinkingMode.DYNAMIC, ldExecutable), convertOptionalOptions(toolchain.getOptionalLinkerFlagList()), ImmutableList.<String>of()); testOnlyLinkFlags = ImmutableList.copyOf(toolchain.getTestOnlyLinkerFlagList()); @@ -1120,7 +1112,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment { @VisibleForTesting ImmutableList<String> configureLinkerOptions( CompilationMode compilationMode, LipoMode lipoMode, LinkingMode linkingMode, - PathFragment ldExecutable, boolean stripBinaries) { + PathFragment ldExecutable) { List<String> result = new ArrayList<>(); result.addAll(commonLinkOptions); diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java index f25ea82d4c..73c011956c 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CrosstoolConfigurationLoaderTest.java @@ -536,8 +536,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { CompilationMode.FASTBUILD, LipoMode.OFF, LinkingMode.FULLY_STATIC, - new PathFragment("hello-world/ld"), - true)); + new PathFragment("hello-world/ld"))); assertEquals( Arrays.asList( "linker-flag-A-1", @@ -549,8 +548,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { CompilationMode.DBG, LipoMode.OFF, LinkingMode.DYNAMIC, - new PathFragment("hello-world/ld"), - true)); + new PathFragment("hello-world/ld"))); assertEquals( Arrays.asList( "linker-flag-A-1", @@ -562,8 +560,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { CompilationMode.OPT, LipoMode.OFF, LinkingMode.FULLY_STATIC, - new PathFragment("hello-world/ld"), - true)); + new PathFragment("hello-world/ld"))); assertEquals( Arrays.asList( @@ -576,8 +573,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { CompilationMode.OPT, LipoMode.BINARY, LinkingMode.FULLY_STATIC, - new PathFragment("hello-world/ld"), - true)); + new PathFragment("hello-world/ld"))); assertEquals( Arrays.asList("objcopy-embed-flag-A-1", "objcopy-embed-flag-A-2"), @@ -639,24 +635,21 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { CompilationMode.FASTBUILD, LipoMode.OFF, LinkingMode.FULLY_STATIC, - new PathFragment("hello-world/ld"), - true)); + new PathFragment("hello-world/ld"))); assertEquals( Arrays.asList("-Wl,-S"), toolchainC.configureLinkerOptions( CompilationMode.DBG, LipoMode.OFF, LinkingMode.DYNAMIC, - new PathFragment("hello-world/ld"), - true)); + new PathFragment("hello-world/ld"))); assertEquals( Arrays.asList("-Wl,-S"), toolchainC.configureLinkerOptions( CompilationMode.OPT, LipoMode.OFF, LinkingMode.FULLY_STATIC, - new PathFragment("hello-world/ld"), - true)); + new PathFragment("hello-world/ld"))); assertThat(toolchainC.getObjCopyOptionsForEmbedding()).isEmpty(); assertThat(toolchainC.getLdOptionsForEmbedding()).isEmpty(); @@ -697,8 +690,7 @@ public class CrosstoolConfigurationLoaderTest extends AnalysisTestCase { CompilationMode.DBG, lipoMode, LinkingMode.DYNAMIC, - new PathFragment("hello-world/ld"), - true)); + new PathFragment("hello-world/ld"))); assertEquals( ImmutableList.<String>of( "compiler-flag-B-1", |