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]] attribute for older msvc versions

This attribute can only be used in all contexts in Visual Studio 2019

diff --git a/include/v8config.h b/include/v8config.h
index 9410eb413555672191eeeb39922301eb5addb4ca..c27eef731b3d81c8b8bd4e1a618551ffe05646aa 100644
--- a/include/v8config.h
+++ b/include/v8config.h
@@ -536,10 +536,13 @@ path. Add it with -I<path> to the command line
 # define V8_PRESERVE_MOST /* 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(__clang__) && defined(_MSC_VER) && _MSC_VER < 1920
+#   define V8_DEPRECATED(message) __declspec(deprecated(message))
+# else
+#   define V8_DEPRECATED(message) [[deprecated(message)]]
+# endif
 #else
 # define V8_DEPRECATED(message)
 #endif
@@ -547,7 +550,11 @@ path. Add it with -I<path> to the command line
 
 // 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(__clang__) && defined(_MSC_VER) && _MSC_VER < 1920
+#   define V8_DEPRECATE_SOON(message) __declspec(deprecated(message))
+# else
+#   define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
+# endif
 #else
 # define V8_DEPRECATE_SOON(message)
 #endif
@@ -581,7 +588,7 @@ path. Add it with -I<path> to the command line
   END_ALLOW_USE_DEPRECATED()
 
 
-#if defined(__GNUC__) && !defined(__clang__) && (__GNUC__ < 6)
+#if !defined(__clang__) && (defined(__GNUC__) && __GNUC__ < 6) || (defined(_MSC_VER) && _MSC_VER < 1920)
 # define V8_ENUM_DEPRECATED(message)
 # define V8_ENUM_DEPRECATE_SOON(message)
 #else
