diff options
author | Daniel Bevenius <daniel.bevenius@gmail.com> | 2020-04-06 06:25:38 +0200 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2020-04-14 10:26:42 +0200 |
commit | f21cf456bf36bd73d8cb6715c745e23efc22a29f (patch) | |
tree | 58d15a9f144e57a5e2bba704458754fbd89b6ba1 | |
parent | 55b4d030ef41f88f773cadf5112085c8def48dd8 (diff) | |
download | node-new-f21cf456bf36bd73d8cb6715c745e23efc22a29f.tar.gz |
src: ignore GCC -Wcast-function-type for v8.h
Currently, the following warnings are emitted during compilation:
In file included from ../src/string_bytes.h:29,
from ../src/string_bytes.cc:22:
../deps/v8/include/v8.h:
In instantiation of ‘void v8::PersistentBase<T>::SetWeak(
P*,typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType)
[with P = node::BaseObject;
T = v8::Object;
typename v8::WeakCallbackInfo<P>::Callback =
void (*)(const v8::WeakCallbackInfo<node::BaseObject>&)]’:
../src/base_object-inl.h:135:42: required from here
../deps/v8/include/v8.h:10732:16: warning:
cast between incompatible function types from
‘v8::WeakCallbackInfo<node::BaseObject>::Callback’ {aka
‘void (*)(const v8::WeakCallbackInfo<node::BaseObject>&)’} to
‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’}
[-Wcast-function-type]
10732 | reinterpret_cast<Callback>(callback), type);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
And the same from test/cctest/test_aliased_buffer.cc
We have an open pull request against v8 for this:
https://chromium-review.googlesource.com/c/v8/v8/+/2080361
PR-URL: https://github.com/nodejs/node/pull/32679
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
-rw-r--r-- | src/string_bytes.h | 7 | ||||
-rw-r--r-- | test/cctest/test_aliased_buffer.cc | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/string_bytes.h b/src/string_bytes.h index 69bb828e01..e11b73b69e 100644 --- a/src/string_bytes.h +++ b/src/string_bytes.h @@ -26,7 +26,14 @@ // Decodes a v8::Local<v8::String> or Buffer to a raw char* +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-function-type" +#endif #include "v8.h" +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic pop +#endif #include "env-inl.h" #include <string> diff --git a/test/cctest/test_aliased_buffer.cc b/test/cctest/test_aliased_buffer.cc index ba947700c1..4dab70d0b5 100644 --- a/test/cctest/test_aliased_buffer.cc +++ b/test/cctest/test_aliased_buffer.cc @@ -1,4 +1,11 @@ +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-function-type" +#endif #include "v8.h" +#if (__GNUC__ >= 8) && !defined(__clang__) +#pragma GCC diagnostic pop +#endif #include "aliased_buffer.h" #include "node_test_fixture.h" |