From a176ea209cd4167bc264c2baaf2740f1085a4ad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Tue, 7 May 2024 15:17:08 +0200 Subject: [PATCH] build: sync V8 warning cflags with BUILD.gn PR-URL: https://github.com/nodejs/node/pull/52873 Reviewed-By: Richard Lau Reviewed-By: Yagiz Nizipli Reviewed-By: Mohammed Keyvanzadeh --- common.gypi | 1 - tools/v8_gypfiles/toolchain.gypi | 28 ++++++++++++++++++---------- tools/v8_gypfiles/v8.gyp | 6 ------ 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/common.gypi b/common.gypi index 3c73151315d9ff..d3e13508e09e72 100644 --- a/common.gypi +++ b/common.gypi @@ -3,7 +3,6 @@ 'configuring_node%': 0, 'asan%': 0, 'ubsan%': 0, - 'werror': '', # Turn off -Werror in V8 build. 'visibility%': 'hidden', # V8's visibility setting 'target_arch%': 'ia32', # set v8's target architecture 'host_arch%': 'ia32', # set v8's host architecture diff --git a/tools/v8_gypfiles/toolchain.gypi b/tools/v8_gypfiles/toolchain.gypi index e4dd387014eb79..c48338d343a5c2 100644 --- a/tools/v8_gypfiles/toolchain.gypi +++ b/tools/v8_gypfiles/toolchain.gypi @@ -82,7 +82,6 @@ 'v8_toolset_for_shell%': 'target', 'host_os%': '<(OS)', - 'werror%': '-Werror', # For a shared library build, results in "libv8-<(soname_version).so". 'soname_version%': '', @@ -133,21 +132,33 @@ '<(V8_ROOT)', '<(V8_ROOT)/include', ], + 'cflags!': ['-Wall', '-Wextra'], 'conditions': [ - ['clang==1', { - 'cflags': [ '-Werror', '-Wno-unknown-pragmas' ], - },{ - 'cflags!': [ '-Wall', '-Wextra' ], + ['clang==0 and OS!="win"', { 'cflags': [ + # In deps/v8/BUILD.gn: if (!is_clang && !is_win) { cflags += [...] } + '-Wno-strict-overflow', '-Wno-return-type', + '-Wno-int-in-bool-context', + '-Wno-deprecated', + '-Wno-stringop-overflow', + '-Wno-stringop-overread', + '-Wno-restrict', + '-Wno-array-bounds', + '-Wno-nonnull', + '-Wno-dangling-pointer', # On by default in Clang and V8 requires it at least for arm64. '-flax-vector-conversions', ], }], ['clang==1 or OS!="win"', { - 'cflags': [ '-Wno-invalid-offsetof' ], + 'cflags_cc': [ + # In deps/v8/BUILD.gn: if (is_clang || !is_win) { cflags += [...] } + '-Wno-invalid-offsetof', + ], 'xcode_settings': { - 'WARNING_CFLAGS': ['-Wno-invalid-offsetof'] + # -Wno-invalid-offsetof + 'GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO': 'NO', }, }], ['v8_target_arch=="arm"', { @@ -434,9 +445,6 @@ ['_toolset=="target"', { 'conditions': [ ['v8_target_arch==target_arch', { - 'cflags': [ - '-Wno-error=array-bounds', # Workaround https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56273 - ], 'conditions': [ ['v8_target_arch=="mips64el"', { 'cflags': ['-EL'], diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp index fa84690ba79be7..bf21265ca88b5a 100644 --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp @@ -2132,12 +2132,6 @@ ] }], ], - # -Wno-invalid-offsetof flag is not valid for C. - # The flag is initially set in `toolchain.gypi` for all targets. - 'cflags!': [ '-Wno-invalid-offsetof' ], - 'xcode_settings': { - 'WARNING_CFLAGS!': ['-Wno-invalid-offsetof'] - }, 'direct_dependent_settings': { 'include_dirs': [ '<(V8_ROOT)/third_party/zlib',