aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'compiler_wrapper/config.go')
-rw-r--r--compiler_wrapper/config.go68
1 files changed, 25 insertions, 43 deletions
diff --git a/compiler_wrapper/config.go b/compiler_wrapper/config.go
index 6c3fcf52..b445ce95 100644
--- a/compiler_wrapper/config.go
+++ b/compiler_wrapper/config.go
@@ -28,12 +28,6 @@ type config struct {
// Toolchain root path relative to the wrapper binary.
clangRootRelPath string
gccRootRelPath string
- // Directory to store errors that were prevented with -Wno-error.
- newWarningsDir string
- // Directory to store nits in when using `WITH_TIDY=tricium`.
- triciumNitsDir string
- // Directory to store crash artifacts in.
- crashArtifactsDir string
// Version. Only exposed via -print-config.
version string
}
@@ -112,28 +106,31 @@ func crosCommonClangFlags() []string {
return []string{
"-Qunused-arguments",
"-Werror=poison-system-directories",
- "-Wno-compound-token-split-by-macro",
"-Wno-deprecated-declarations",
+ "-Wno-enum-constexpr-conversion",
"-Wno-error=implicit-function-declaration",
"-Wno-error=implicit-int",
"-Wno-final-dtor-non-final-class",
+ "-Wno-single-bit-bitfield-constant-conversion",
"-Wno-tautological-constant-compare",
"-Wno-tautological-unsigned-enum-zero-compare",
"-Wno-unknown-warning-option",
"-fdebug-default-version=5",
- "-fexperimental-new-pass-manager",
+ "-Wno-int-conversion",
+ "-Wno-incompatible-function-pointer-types",
+ // TODO(b/316021385): Temporarily disables warnings for variable length arrays.
+ "-Wno-error=vla-cxx-extension",
+ "-D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES",
+ // TODO(b/315504245): Temporarily prevents new mangling rules from taking effect.
+ "-fclang-abi-compat=17",
}
}
func crosCommonClangPostFlags() []string {
- // Temporarily disable Wdeprecated-copy. b/191479033
- return []string{
- "-Wno-compound-token-split-by-space",
- "-Wno-deprecated-copy",
- "-Wno-unused-but-set-variable",
- "-Wno-implicit-int-float-conversion",
- "-Wno-string-concatenation",
- }
+ // Flags added to the _end_ of every build command. If a flag is added here, file a bug at
+ // go/crostc-bug to clean it up. Use of postflags is discouraged, since it prevents users
+ // from determining their own preferences for warnings/etc.
+ return []string{}
}
// Full hardening.
@@ -146,7 +143,7 @@ var crosHardenedConfig = config{
commonFlags: []string{
"-fcommon",
"-fstack-protector-strong",
- "-D_FORTIFY_SOURCE=2",
+ "-D_FORTIFY_SOURCE=3",
"-fno-omit-frame-pointer",
},
gccFlags: []string{
@@ -163,14 +160,9 @@ var crosHardenedConfig = config{
"--unwindlib=libunwind",
"-Wno-section",
"-fno-addrsig",
- "-fuse-ld=lld",
"-ftrivial-auto-var-init=zero",
- "-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang",
),
- clangPostFlags: crosCommonClangPostFlags(),
- newWarningsDir: "/tmp/fatal_clang_warnings",
- triciumNitsDir: "/tmp/linting_output/clang-tidy",
- crashArtifactsDir: "/tmp/clang_crash_diagnostics",
+ clangPostFlags: crosCommonClangPostFlags(),
}
// Flags to be added to non-hardened toolchain.
@@ -189,10 +181,7 @@ var crosNonHardenedConfig = config{
crosCommonClangFlags(),
"-Wno-section",
),
- clangPostFlags: crosCommonClangPostFlags(),
- newWarningsDir: "/tmp/fatal_clang_warnings",
- triciumNitsDir: "/tmp/linting_output/clang-tidy",
- crashArtifactsDir: "/tmp/clang_crash_diagnostics",
+ clangPostFlags: crosCommonClangPostFlags(),
}
// Flags to be added to host toolchain.
@@ -216,25 +205,18 @@ var crosHostConfig = config{
crosCommonClangFlags(),
"-Wno-unused-local-typedefs",
"-fno-addrsig",
- "-fuse-ld=lld",
),
// Temporarily disable Wdeprecated-copy. b/191479033
- clangPostFlags: crosCommonClangPostFlags(),
- newWarningsDir: "/tmp/fatal_clang_warnings",
- triciumNitsDir: "/tmp/linting_output/clang-tidy",
- crashArtifactsDir: "/tmp/clang_crash_diagnostics",
+ clangPostFlags: crosCommonClangPostFlags(),
}
var androidConfig = config{
- isHostWrapper: false,
- isAndroidWrapper: true,
- gccRootRelPath: "./",
- clangRootRelPath: "./",
- commonFlags: []string{},
- gccFlags: []string{},
- clangFlags: []string{},
- clangPostFlags: []string{},
- newWarningsDir: "",
- triciumNitsDir: "",
- crashArtifactsDir: "",
+ isHostWrapper: false,
+ isAndroidWrapper: true,
+ gccRootRelPath: "./",
+ clangRootRelPath: "./",
+ commonFlags: []string{},
+ gccFlags: []string{},
+ clangFlags: []string{},
+ clangPostFlags: []string{},
}