Remove flto dependent flags when -flto is removed. am: 9e88ba9f22

am: 1cc0227af2

Change-Id: I0670019f95fa9f98cb624801d9bbcd165ca0267b
This commit is contained in:
Chih-Hung Hsieh
2018-08-24 13:04:49 -07:00
committed by android-build-merger
4 changed files with 52 additions and 47 deletions

View File

@@ -236,29 +236,30 @@ func init() {
} }
type builderFlags struct { type builderFlags struct {
globalFlags string globalFlags string
arFlags string arFlags string
asFlags string asFlags string
cFlags string cFlags string
toolingCFlags string // A separate set of Cflags for clang LibTooling tools toolingCFlags string // A separate set of cFlags for clang LibTooling tools
conlyFlags string toolingCppFlags string // A separate set of cppFlags for clang LibTooling tools
cppFlags string conlyFlags string
ldFlags string cppFlags string
libFlags string ldFlags string
yaccFlags string libFlags string
protoFlags string yaccFlags string
protoOutParams string protoFlags string
tidyFlags string protoOutParams string
sAbiFlags string tidyFlags string
yasmFlags string sAbiFlags string
aidlFlags string yasmFlags string
rsFlags string aidlFlags string
toolchain config.Toolchain rsFlags string
clang bool toolchain config.Toolchain
tidy bool clang bool
coverage bool tidy bool
sAbiDump bool coverage bool
protoRoot bool sAbiDump bool
protoRoot bool
systemIncludeFlags string systemIncludeFlags string
@@ -330,7 +331,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
toolingCppflags := strings.Join([]string{ toolingCppflags := strings.Join([]string{
commonFlags, commonFlags,
flags.toolingCFlags, flags.toolingCFlags,
flags.cppFlags, flags.toolingCppFlags,
}, " ") }, " ")
cppflags := strings.Join([]string{ cppflags := strings.Join([]string{

View File

@@ -93,8 +93,10 @@ var ClangUnknownLldflags = sorted([]string{
}) })
var ClangLibToolingUnknownCflags = []string{ var ClangLibToolingUnknownCflags = []string{
// Remove -flto and other flto dependent flags.
"-flto*", "-flto*",
"-fsanitize*", "-fsanitize*",
"-fwhole-program-vtables",
} }
func init() { func init() {

View File

@@ -71,6 +71,7 @@ func (sabimod *sabi) flags(ctx ModuleContext, flags Flags) Flags {
// Assuming that the cflags which clang LibTooling tools cannot // Assuming that the cflags which clang LibTooling tools cannot
// understand have not been converted to ninja variables yet. // understand have not been converted to ninja variables yet.
flags.ToolingCFlags = filterOutWithPrefix(flags.CFlags, config.ClangLibToolingUnknownCflags) flags.ToolingCFlags = filterOutWithPrefix(flags.CFlags, config.ClangLibToolingUnknownCflags)
flags.ToolingCppFlags = filterOutWithPrefix(flags.CppFlags, config.ClangLibToolingUnknownCflags)
// RSClang does not support recent mcpu option likes exynos-m2. // RSClang does not support recent mcpu option likes exynos-m2.
// So we need overriding mcpu option when we want to use it. // So we need overriding mcpu option when we want to use it.

View File

@@ -59,29 +59,30 @@ func moduleToLibName(module string) (string, error) {
func flagsToBuilderFlags(in Flags) builderFlags { func flagsToBuilderFlags(in Flags) builderFlags {
return builderFlags{ return builderFlags{
globalFlags: strings.Join(in.GlobalFlags, " "), globalFlags: strings.Join(in.GlobalFlags, " "),
arFlags: strings.Join(in.ArFlags, " "), arFlags: strings.Join(in.ArFlags, " "),
asFlags: strings.Join(in.AsFlags, " "), asFlags: strings.Join(in.AsFlags, " "),
cFlags: strings.Join(in.CFlags, " "), cFlags: strings.Join(in.CFlags, " "),
toolingCFlags: strings.Join(in.ToolingCFlags, " "), toolingCFlags: strings.Join(in.ToolingCFlags, " "),
conlyFlags: strings.Join(in.ConlyFlags, " "), toolingCppFlags: strings.Join(in.ToolingCppFlags, " "),
cppFlags: strings.Join(in.CppFlags, " "), conlyFlags: strings.Join(in.ConlyFlags, " "),
yaccFlags: strings.Join(in.YaccFlags, " "), cppFlags: strings.Join(in.CppFlags, " "),
protoFlags: strings.Join(in.protoFlags, " "), yaccFlags: strings.Join(in.YaccFlags, " "),
protoOutParams: strings.Join(in.protoOutParams, ","), protoFlags: strings.Join(in.protoFlags, " "),
aidlFlags: strings.Join(in.aidlFlags, " "), protoOutParams: strings.Join(in.protoOutParams, ","),
rsFlags: strings.Join(in.rsFlags, " "), aidlFlags: strings.Join(in.aidlFlags, " "),
ldFlags: strings.Join(in.LdFlags, " "), rsFlags: strings.Join(in.rsFlags, " "),
libFlags: strings.Join(in.libFlags, " "), ldFlags: strings.Join(in.LdFlags, " "),
tidyFlags: strings.Join(in.TidyFlags, " "), libFlags: strings.Join(in.libFlags, " "),
sAbiFlags: strings.Join(in.SAbiFlags, " "), tidyFlags: strings.Join(in.TidyFlags, " "),
yasmFlags: strings.Join(in.YasmFlags, " "), sAbiFlags: strings.Join(in.SAbiFlags, " "),
toolchain: in.Toolchain, yasmFlags: strings.Join(in.YasmFlags, " "),
clang: in.Clang, toolchain: in.Toolchain,
coverage: in.Coverage, clang: in.Clang,
tidy: in.Tidy, coverage: in.Coverage,
sAbiDump: in.SAbiDump, tidy: in.Tidy,
protoRoot: in.ProtoRoot, sAbiDump: in.SAbiDump,
protoRoot: in.ProtoRoot,
systemIncludeFlags: strings.Join(in.SystemIncludeFlags, " "), systemIncludeFlags: strings.Join(in.SystemIncludeFlags, " "),