From f48ba24223941518c8268b8da7d5d86b5c1a5a24 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Thu, 2 Apr 2026 12:33:44 -0400 Subject: [PATCH 1/3] tools: add -Wno-unused-function to v8 gyp --- tools/v8_gypfiles/v8.gyp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp index e09fcc1ce8c59f..910d38a7b3cd54 100644 --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp @@ -2421,6 +2421,9 @@ ], }, 'include_dirs': ['.'], + # Keep the GYP target aligned with third_party/simdutf/BUILD.gn, which + # suppresses this warning for the amalgamated translation unit. + 'cflags_cc': [ '-Wno-unused-function' ], 'sources': [ '<(V8_ROOT)/third_party/simdutf/simdutf.cpp', ], From f1991bdd4bca8e8e9ae02a5af02a5840f6da8262 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Thu, 2 Apr 2026 12:34:00 -0400 Subject: [PATCH 2/3] tools: update mac_tool warning regex matcher --- tools/gyp/pylib/gyp/mac_tool.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/gyp/pylib/gyp/mac_tool.py b/tools/gyp/pylib/gyp/mac_tool.py index 3710178e110ae5..d4ab8c1f3ca9d4 100755 --- a/tools/gyp/pylib/gyp/mac_tool.py +++ b/tools/gyp/pylib/gyp/mac_tool.py @@ -254,9 +254,14 @@ def ExecFlock(self, lockfile, *cmd_list): def ExecFilterLibtool(self, *cmd_list): """Calls libtool and filters out '/path/to/libtool: file: foo.o has no symbols'.""" - libtool_re = re.compile( + libtool_no_symbols_re = re.compile( r"^.*libtool: (?:for architecture: \S* )?file: .* has no symbols$" ) + # Newer Apple cctools emits the same warning as: + # libtool: warning: 'foo.o' has no symbols + libtool_no_symbols_warning_re = re.compile( + r"^.*libtool: warning: '.*' has no symbols$" + ) libtool_re5 = re.compile( r"^.*libtool: warning for library: " + r".* the table of contents is empty " @@ -271,7 +276,11 @@ def ExecFilterLibtool(self, *cmd_list): libtoolout = subprocess.Popen(cmd_list, stderr=subprocess.PIPE, env=env) err = libtoolout.communicate()[1].decode("utf-8") for line in err.splitlines(): - if not libtool_re.match(line) and not libtool_re5.match(line): + if ( + not libtool_no_symbols_re.match(line) + and not libtool_no_symbols_warning_re.match(line) + and not libtool_re5.match(line) + ): print(line, file=sys.stderr) # Unconditionally touch the output .a file on the command line if present # and the command succeeded. A bit hacky. From 56b1444aa5bcb16c3e1c80596abbd54f522d2bf8 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Thu, 2 Apr 2026 12:34:33 -0400 Subject: [PATCH 3/3] deps: add compiler flag to uv.gyp for warnings --- deps/uv/uv.gyp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deps/uv/uv.gyp b/deps/uv/uv.gyp index 540445f1f3249b..eb7f3250e4c1e8 100644 --- a/deps/uv/uv.gyp +++ b/deps/uv/uv.gyp @@ -188,6 +188,9 @@ '-Wall', '-Wextra', '-Wno-unused-parameter', + # `uv_cpu_info_t.model` is exposed as `const char*`, but libuv frees + # the owned buffer internally via `uv__free(void*)`. + '-Wno-incompatible-pointer-types-discards-qualifiers', '-Wstrict-prototypes', ], 'OTHER_CFLAGS': [ '-g', '--std=gnu11' ],