9d67e1d72e
chore: bump node in DEPS to v20.16.0 Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
45 lines
2.6 KiB
Diff
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 3ae876e5484f0ebacfae6749cc336f42cd69bf14..8e9e8289de249119d6b8078abe32db6b885dfaab 100644
|
|
--- a/src/util.h
|
|
+++ b/src/util.h
|
|
@@ -146,9 +146,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. */ \
|