[llvm] r352141 - gn build: Build clang with -fno-strict-aliasing, make building with gcc much quieter
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 24 16:29:17 PST 2019
Author: nico
Date: Thu Jan 24 16:29:17 2019
New Revision: 352141
URL: http://llvm.org/viewvc/llvm-project?rev=352141&view=rev
Log:
gn build: Build clang with -fno-strict-aliasing, make building with gcc much quieter
- gcc doesn't understand -Wstring-conversion, so pass that only to clang
- disable a few gcc warnings that are noisy and also disabled in the cmake build
- -Wstrict-aliasing pointed out that the cmake build builds clang with
-fno-strict-aliasing, so do that too
Differential Revision: https://reviews.llvm.org/D57191
Modified:
llvm/trunk/utils/gn/build/BUILD.gn
Modified: llvm/trunk/utils/gn/build/BUILD.gn
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/gn/build/BUILD.gn?rev=352141&r1=352140&r2=352141&view=diff
==============================================================================
--- llvm/trunk/utils/gn/build/BUILD.gn (original)
+++ llvm/trunk/utils/gn/build/BUILD.gn Thu Jan 24 16:29:17 2019
@@ -93,12 +93,27 @@ config("compiler_defaults") {
"-Wextra",
]
}
- cflags += [
- "-Wno-unused-parameter",
- "-Wstring-conversion",
- ]
+ cflags += [ "-Wno-unused-parameter" ]
if (is_clang) {
- cflags += [ "-Wdelete-non-virtual-dtor" ]
+ cflags += [
+ "-Wdelete-non-virtual-dtor",
+ "-Wstring-conversion",
+ ]
+ } else {
+ cflags += [
+ # GCC's -Wcomment complains about // comments ending with '\' if the
+ # next line is also a // comment.
+ "-Wno-comment",
+
+ # Disable gcc's potentially uninitialized use analysis as it presents
+ # lots of false positives.
+ "-Wno-maybe-uninitialized",
+ ]
+ cflags_cc += [
+ # The LLVM libraries have no stable C++ API, so -Wnoexcept-type is not
+ # useful.
+ "-Wno-noexcept-type",
+ ]
}
if (is_clang && use_goma) {
# goma converts all paths to lowercase on the server, breaking this
@@ -135,6 +150,9 @@ config("lld_code") {
}
config("clang_code") {
+ if (host_os != "win") {
+ cflags = [ "-fno-strict-aliasing" ]
+ }
include_dirs = [
"//clang/include",
"$root_gen_dir/clang/include",
More information about the llvm-commits
mailing list