Fix defaults of BaseCompilerProperties

* Edition and Deny_warnings should not be set when
  constructing a BaseCompilerProperties, or the
  initialized values will reject values inherited from rust_defaults.
* Use getEdition and getDenyWarnings to retrieve those properties
  with defaults from config.

Bug: 141699953
Test: mm in rust projects
Change-Id: Id1ae357caeaf656cd33732bf4e54920e206f4ead
This commit is contained in:
Chih-Hung Hsieh
2019-10-03 09:47:06 -07:00
parent 65ab468452
commit 961a30c714
2 changed files with 15 additions and 11 deletions

View File

@@ -20,14 +20,20 @@ import (
"android/soong/android"
"android/soong/rust/config"
"github.com/google/blueprint/proptools"
)
func getEdition(compiler *baseCompiler) string {
return proptools.StringDefault(compiler.Properties.Edition, config.DefaultEdition)
}
func getDenyWarnings(compiler *baseCompiler) bool {
return BoolDefault(compiler.Properties.Deny_warnings, config.DefaultDenyWarnings)
}
func NewBaseCompiler(dir, dir64 string) *baseCompiler {
return &baseCompiler{
Properties: BaseCompilerProperties{
Edition: &config.DefaultEdition,
Deny_warnings: config.DefaultDenyWarnings,
},
Properties: BaseCompilerProperties{},
dir: dir,
dir64: dir64,
}
@@ -113,12 +119,12 @@ func (compiler *baseCompiler) featuresToFlags(features []string) []string {
func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flags {
if Bool(compiler.Properties.Deny_warnings) {
if getDenyWarnings(compiler) {
flags.RustFlags = append(flags.RustFlags, "-D warnings")
}
flags.RustFlags = append(flags.RustFlags, compiler.Properties.Flags...)
flags.RustFlags = append(flags.RustFlags, compiler.featuresToFlags(compiler.Properties.Features)...)
flags.RustFlags = append(flags.RustFlags, "--edition="+*compiler.Properties.Edition)
flags.RustFlags = append(flags.RustFlags, "--edition="+getEdition(compiler))
flags.LinkFlags = append(flags.LinkFlags, compiler.Properties.Ld_flags...)
flags.GlobalRustFlags = append(flags.GlobalRustFlags, config.GlobalRustFlags...)
flags.GlobalRustFlags = append(flags.GlobalRustFlags, ctx.toolchain().ToolchainRustFlags())

View File

@@ -17,8 +17,6 @@ package config
import (
"strings"
"github.com/google/blueprint/proptools"
"android/soong/android"
_ "android/soong/cc/config"
)
@@ -35,7 +33,7 @@ var (
"libtest",
}
DefaultDenyWarnings = proptools.BoolPtr(true)
DefaultDenyWarnings = true
GlobalRustFlags = []string{
"--remap-path-prefix $$(pwd)=",