summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cc/builder.go7
-rw-r--r--cc/config/tidy.go9
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, " ")
+}