From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Deepak Mohan <hop2deep@gmail.com>
Date: Tue, 28 Jan 2020 15:48:03 -0800
Subject: fix: usage of c++ [[deprecated]] attirbute for older msvc versions

VS 2015 update 3 has a bug where [[deprecated]] attribute cannot
be applied to constructor declarations, this is fixed in 2017 and
higher versions, but native module compiling with this version
will have an issue.

diff --git a/include/v8config.h b/include/v8config.h
index 0886f691d56a19ec2ffea686516148d55cce41ce..593cd73224479037908e09d0923f58cafba2122b 100644
--- a/include/v8config.h
+++ b/include/v8config.h
@@ -401,10 +401,13 @@
 # define V8_NOINLINE /* NOT SUPPORTED */
 #endif
 
-
 // A macro (V8_DEPRECATED) to mark classes or functions as deprecated.
 #if defined(V8_DEPRECATION_WARNINGS)
-# define V8_DEPRECATED(message) [[deprecated(message)]]
+# if defined(_MSC_VER) && _MSC_VER <= 1900
+#   define V8_DEPRECATED(message) __declspec(deprecated(message))
+# else
+#   define V8_DEPRECATED(message) [[deprecated(message)]]
+# endif
 #else
 # define V8_DEPRECATED(message)
 #endif
@@ -412,7 +415,11 @@
 
 // A macro (V8_DEPRECATE_SOON) to make it easier to see what will be deprecated.
 #if defined(V8_IMMINENT_DEPRECATION_WARNINGS)
-# define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
+# if defined(_MSC_VER) && _MSC_VER <= 1900
+#   define V8_DEPRECATE_SOON(message) __declspec(deprecated(message))
+# else
+#   define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
+# endif
 #else
 # define V8_DEPRECATE_SOON(message)
 #endif
