/
fix_build_deprecated_attribute_for_older_msvc_versions.patch
47 lines (41 loc) · 1.79 KB
/
fix_build_deprecated_attribute_for_older_msvc_versions.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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 77fd65c6c5b7d8c0a7fe7a37c40e17ce66f49ce6..644f921f970d214b4d93b1e4c384e7475740b485 100644
--- a/include/v8config.h
+++ b/include/v8config.h
@@ -454,10 +454,13 @@ path. Add it with -I<path> to the command line
# 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(__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
@@ -465,13 +468,17 @@ 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
-#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