Files
meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0004-Make-compatibility-with-gcc-4.8.patch
Brad Bishop 478c35bc01 nodejs: Update GCC 4.8 compat patch
GCC 4.8 compatibility was lost moving from 10.15.1 to 10.15.3.  Add
another wrapper for std::make_unique to restore it.

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-26 09:43:57 -07:00

70 lines
2.0 KiB
Diff

Implement function as wrapper for std::make_unique
method to be compatible with gcc < 4.9 .
"error::make_unique is not a member of 'std'"
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff -Naur node-v10.15.1/src/cares_wrap.cc node-v10.15.1/src/cares_wrap.cc
--- node-v10.15.1/src/cares_wrap.cc 2019-01-29 08:20:50.000000000 +0100
+++ node-v10.15.1/src/cares_wrap.cc 2019-02-21 16:22:25.489131665 +0100
@@ -52,6 +52,16 @@
# define AI_V4MAPPED 0
#endif
+#ifndef __cpp_lib_make_unique
+namespace std {
+ /// make_unique implementation
+ template<typename T, typename... Args>
+ std::unique_ptr<T> make_unique(Args&&... args) {
+ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+ }
+}
+#endif
+
namespace node {
namespace cares_wrap {
diff -Naur node-v10.15.1/src/inspector_agent.cc node-v10.15.1/src/inspector_agent.cc
--- node-v10.15.1/src/inspector_agent.cc 2019-01-29 08:20:50.000000000 +0100
+++ node-v10.15.1/src/inspector_agent.cc 2019-02-21 16:22:09.000185992 +0100
@@ -24,6 +24,16 @@
#include <pthread.h>
#endif // __POSIX__
+#ifndef __cpp_lib_make_unique
+namespace std {
+ /// make_unique implementation
+ template<typename T, typename... Args>
+ std::unique_ptr<T> make_unique(Args&&... args) {
+ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+ }
+}
+#endif
+
namespace node {
namespace inspector {
namespace {
diff --git a/src/inspector/main_thread_interface.cc b/src/inspector/main_thread_interface.cc
index e374c0fd70..05d7d8c60f 100644
--- a/src/inspector/main_thread_interface.cc
+++ b/src/inspector/main_thread_interface.cc
@@ -6,6 +6,16 @@
#include <functional>
#include <unicode/unistr.h>
+#ifndef __cpp_lib_make_unique
+namespace std {
+ /// make_unique implementation
+ template<typename T, typename... Args>
+ std::unique_ptr<T> make_unique(Args&&... args) {
+ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+ }
+}
+#endif
+
namespace node {
namespace inspector {
namespace {