electron/patches/node/fix_-wshadow_warning.patch
electron-roller[bot] 7120c58297
chore: bump node to v20.12.2 (main) (#41710)
* chore: bump node in DEPS to v20.12.0

* chore: update build_add_gn_build_files.patch

* chore: update patches

* chore: bump node in DEPS to v20.12.1

* chore: update patches

* build: encode non-ASCII Latin1 characters as one byte in JS2C

https://github.com/nodejs/node/pull/51605

* crypto: use EVP_MD_fetch and cache EVP_MD for hashes

https://github.com/nodejs/node/pull/51034

* chore: update filenames.json

* chore: bump node in DEPS to v20.12.2

* chore: update patches

* src: support configurable snapshot

https://github.com/nodejs/node/pull/50453

* test: remove test-domain-error-types flaky designation

https://github.com/nodejs/node/pull/51717

* src: avoid draining platform tasks at FreeEnvironment

https://github.com/nodejs/node/pull/51290

* chore: fix accidentally deleted v8 dep

* lib: define FormData and fetch etc. in the built-in snapshot

https://github.com/nodejs/node/pull/51598

* chore: rebase on main

* chore: remove stray log

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Cheng <zcbenz@gmail.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
2024-04-17 12:39:13 -04:00

45 lines
2.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Charles Kerr <charles@charleskerr.com>
Date: Fri, 7 Jul 2023 11:28:19 -0500
Subject: fix: -Wshadow warning
In utils.h's `ERROR_AND_ABORT` macro, rename the static local variable
`args` to avoid -Wshadow warnings in code that calls `ERROR_AND_ABORT()`
or `CHECK()` from a function that already has an `args` variable.
This patch could be removed after upstreaming to Node.js.
Example warning:
In file included from ../../third_party/electron_node/src/inspector/runtime_agent.cc:3:
In file included from ../../third_party/electron_node/src/env-inl.h:32:
../../third_party/electron_node/src/node_internals.h:72:3: error: declaration shadows a local variable [-Werror,-Wshadow]
72 | CHECK(args[0]->IsObject());
| ^
../../third_party/electron_node/src/util.h:154:7: note: expanded from macro 'CHECK'
154 | ERROR_AND_ABORT(expr); \
| ^
../../third_party/electron_node/src/util.h:132:38: note: expanded from macro 'ERROR_AND_ABORT'
132 | static const node::AssertionInfo args = { \
| ^
../../third_party/electron_node/src/node_internals.h:67:67: note: previous declaration is here
67 | void GetSockOrPeerName(const v8::FunctionCallbackInfo<v8::Value>& args) {
| ^
1 error generated.
diff --git a/src/util.h b/src/util.h
index e5f508b5090b2a0a95dc280e010ddcc731ad0dd2..d1d78c5b2f0409c7a399444875079eb5c487a3e7 100644
--- a/src/util.h
+++ b/src/util.h
@@ -145,9 +145,9 @@ void DumpJavaScriptBacktrace(FILE* fp);
do { \
/* Make sure that this struct does not end up in inline code, but */ \
/* rather in a read-only data section when modifying this code. */ \
- static const node::AssertionInfo args = { \
+ static const node::AssertionInfo error_and_abort_args = { \
__FILE__ ":" STRINGIFY(__LINE__), #expr, PRETTY_FUNCTION_NAME}; \
- node::Assert(args); \
+ node::Assert(error_and_abort_args); \
/* `node::Assert` doesn't return. Add an [[noreturn]] abort() here to */ \
/* make the compiler happy about no return value in the caller */ \
/* function when calling ERROR_AND_ABORT. */ \