summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Bevenius <daniel.bevenius@gmail.com>2020-04-06 06:25:38 +0200
committerDaniel Bevenius <daniel.bevenius@gmail.com>2020-04-14 10:26:42 +0200
commitf21cf456bf36bd73d8cb6715c745e23efc22a29f (patch)
tree58d15a9f144e57a5e2bba704458754fbd89b6ba1
parent55b4d030ef41f88f773cadf5112085c8def48dd8 (diff)
downloadnode-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.h7
-rw-r--r--test/cctest/test_aliased_buffer.cc7
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"