Loading cc/config/clang.go +3 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ var ClangLibToolingUnknownCflags = sorted([]string{}) // `modernize-*`. var ClangTidyDisableChecks = []string{ "misc-no-recursion", "readability-function-cognitive-complexity", // http://b/175055536 } func init() { Loading Loading @@ -190,6 +191,8 @@ func init() { "-Wno-pessimizing-move", // http://b/154270751 // New warnings to be fixed after clang-r399163 "-Wno-non-c-typedef-for-linkage", // http://b/161304145 // New warnings to be fixed after clang-r407598 "-Wno-string-concatenation", // http://b/175068488 }, " ")) // Extra cflags for external third-party projects to disable warnings that Loading cc/config/global.go +2 −2 Original line number Diff line number Diff line Loading @@ -135,8 +135,8 @@ var ( // prebuilts/clang default settings. ClangDefaultBase = "prebuilts/clang/host" ClangDefaultVersion = "clang-r399163b" ClangDefaultShortVersion = "11.0.5" ClangDefaultVersion = "clang-r407598" ClangDefaultShortVersion = "12.0.1" // Directories with warnings from Android.bp files. WarningAllowedProjects = []string{ Loading cc/sanitize.go +20 −0 Original line number Diff line number Diff line Loading @@ -458,6 +458,22 @@ func toDisableImplicitIntegerChange(flags []string) bool { return false } func toDisableUnsignedShiftBaseChange(flags []string) bool { // Returns true if any flag is fsanitize*integer, and there is // no explicit flag about sanitize=unsigned-shift-base. for _, f := range flags { if strings.Contains(f, "sanitize=unsigned-shift-base") { return false } } for _, f := range flags { if strings.HasPrefix(f, "-fsanitize") && strings.Contains(f, "integer") { return true } } return false } func (sanitize *sanitize) flags(ctx ModuleContext, flags Flags) Flags { minimalRuntimeLib := config.UndefinedBehaviorSanitizerMinimalRuntimeLibrary(ctx.toolchain()) + ".a" minimalRuntimePath := "${config.ClangAsanLibDir}/" + minimalRuntimeLib Loading Loading @@ -614,6 +630,10 @@ func (sanitize *sanitize) flags(ctx ModuleContext, flags Flags) Flags { if toDisableImplicitIntegerChange(flags.Local.CFlags) { flags.Local.CFlags = append(flags.Local.CFlags, "-fno-sanitize=implicit-integer-sign-change") } // http://b/171275751, Android doesn't build with this sanitizer yet. if toDisableUnsignedShiftBaseChange(flags.Local.CFlags) { flags.Local.CFlags = append(flags.Local.CFlags, "-fno-sanitize=unsigned-shift-base") } } if len(sanitize.Properties.DiagSanitizers) > 0 { Loading Loading
cc/config/clang.go +3 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ var ClangLibToolingUnknownCflags = sorted([]string{}) // `modernize-*`. var ClangTidyDisableChecks = []string{ "misc-no-recursion", "readability-function-cognitive-complexity", // http://b/175055536 } func init() { Loading Loading @@ -190,6 +191,8 @@ func init() { "-Wno-pessimizing-move", // http://b/154270751 // New warnings to be fixed after clang-r399163 "-Wno-non-c-typedef-for-linkage", // http://b/161304145 // New warnings to be fixed after clang-r407598 "-Wno-string-concatenation", // http://b/175068488 }, " ")) // Extra cflags for external third-party projects to disable warnings that Loading
cc/config/global.go +2 −2 Original line number Diff line number Diff line Loading @@ -135,8 +135,8 @@ var ( // prebuilts/clang default settings. ClangDefaultBase = "prebuilts/clang/host" ClangDefaultVersion = "clang-r399163b" ClangDefaultShortVersion = "11.0.5" ClangDefaultVersion = "clang-r407598" ClangDefaultShortVersion = "12.0.1" // Directories with warnings from Android.bp files. WarningAllowedProjects = []string{ Loading
cc/sanitize.go +20 −0 Original line number Diff line number Diff line Loading @@ -458,6 +458,22 @@ func toDisableImplicitIntegerChange(flags []string) bool { return false } func toDisableUnsignedShiftBaseChange(flags []string) bool { // Returns true if any flag is fsanitize*integer, and there is // no explicit flag about sanitize=unsigned-shift-base. for _, f := range flags { if strings.Contains(f, "sanitize=unsigned-shift-base") { return false } } for _, f := range flags { if strings.HasPrefix(f, "-fsanitize") && strings.Contains(f, "integer") { return true } } return false } func (sanitize *sanitize) flags(ctx ModuleContext, flags Flags) Flags { minimalRuntimeLib := config.UndefinedBehaviorSanitizerMinimalRuntimeLibrary(ctx.toolchain()) + ".a" minimalRuntimePath := "${config.ClangAsanLibDir}/" + minimalRuntimeLib Loading Loading @@ -614,6 +630,10 @@ func (sanitize *sanitize) flags(ctx ModuleContext, flags Flags) Flags { if toDisableImplicitIntegerChange(flags.Local.CFlags) { flags.Local.CFlags = append(flags.Local.CFlags, "-fno-sanitize=implicit-integer-sign-change") } // http://b/171275751, Android doesn't build with this sanitizer yet. if toDisableUnsignedShiftBaseChange(flags.Local.CFlags) { flags.Local.CFlags = append(flags.Local.CFlags, "-fno-sanitize=unsigned-shift-base") } } if len(sanitize.Properties.DiagSanitizers) > 0 { Loading