diff options
Diffstat (limited to 'compiler_wrapper/config.go')
-rw-r--r-- | compiler_wrapper/config.go | 68 |
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{}, } |