diff options
| -rw-r--r-- | cc/builder.go | 7 | ||||
| -rw-r--r-- | cc/config/tidy.go | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/cc/builder.go b/cc/builder.go index 0bea9da49..39f7dc350 100644 --- a/cc/builder.go +++ b/cc/builder.go @@ -672,11 +672,16 @@ func transformSourceToObj(ctx ModuleContext, subdir string, srcFiles, noTidySrcs tidyCmd := "${config.ClangBin}/clang-tidy" rule := clangTidy + reducedCFlags := moduleFlags if ctx.Config().UseRBE() && ctx.Config().IsEnvTrue("RBE_CLANG_TIDY") { rule = clangTidyRE + // b/248371171, work around RBE input processor problem + // some cflags rejected by input processor, but usually + // do not affect included files or clang-tidy + reducedCFlags = config.TidyReduceCFlags(reducedCFlags) } - sharedCFlags := shareFlags("cFlags", moduleFlags) + sharedCFlags := shareFlags("cFlags", reducedCFlags) srcRelPath := srcFile.Rel() // Add the .tidy rule diff --git a/cc/config/tidy.go b/cc/config/tidy.go index 23bda664c..af49e88d1 100644 --- a/cc/config/tidy.go +++ b/cc/config/tidy.go @@ -16,6 +16,7 @@ package config import ( "android/soong/android" + "regexp" "strings" ) @@ -237,3 +238,11 @@ func TidyFlagsForSrcFile(srcFile android.Path, flags string) string { } return flags } + +var ( + removedCFlags = regexp.MustCompile(" -fsanitize=[^ ]*memtag-[^ ]* ") +) + +func TidyReduceCFlags(flags string) string { + return removedCFlags.ReplaceAllString(flags, " ") +} |