aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libpqxx/fix_build_with_vs2017.patch
blob: 1267111d881c05997b16866b5b52c22a9ef1a62e (plain)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
diff --git a/include/pqxx/internal/header-pre.hxx b/include/pqxx/internal/header-pre.hxx
index 833d583..21b7400 100644
--- a/include/pqxx/internal/header-pre.hxx
+++ b/include/pqxx/internal/header-pre.hxx
@@ -101,6 +101,11 @@
 // Workarounds for Microsoft Visual C++
 #  ifdef _MSC_VER
 
+// Workarounds for deprecated attribute syntax error in Visual Studio 2017.
+#    if _MSC_VER < 1920
+#      define PQXX_DEPRECATED(MESSAGE) __declspec(deprecated( #MESSAGE ))
+#    endif
+
 // Suppress vtables on abstract classes.
 #    define PQXX_NOVTABLE __declspec(novtable)
 
@@ -170,6 +175,10 @@
 #  define PQXX_NOVTABLE /* novtable */
 #endif
 
+#ifndef PQXX_DEPRECATED
+#  define PQXX_DEPRECATED(MESSAGE) [[deprecated( #MESSAGE )]]
+#endif
+
 // C++20: Assume support.
 #if defined(PQXX_HAVE_LIKELY)
 #  define PQXX_LIKELY [[likely]]
diff --git a/include/pqxx/stream_from.hxx b/include/pqxx/stream_from.hxx
index b275a7f..c63a80f 100644
--- a/include/pqxx/stream_from.hxx
+++ b/include/pqxx/stream_from.hxx
@@ -160,7 +160,7 @@ public:
   /** @deprecated Use factories @ref table or @ref raw_table instead.
    */
   template<typename Iter>
-  [[deprecated("Use transaction_base::stream instead.")]] stream_from(
+  PQXX_DEPRECATED("Use transaction_base::stream instead.") stream_from(
     transaction_base &, from_table_t, std::string_view table,
     Iter columns_begin, Iter columns_end);
 
@@ -168,13 +168,13 @@ public:
   /** @deprecated Use factory function @ref query instead.
    */
   template<typename Columns>
-  [[deprecated("Use transaction_base::stream() instead.")]] stream_from(
+  PQXX_DEPRECATED("Use transaction_base::stream() instead.") stream_from(
     transaction_base &tx, from_table_t, std::string_view table,
     Columns const &columns);
 
 #include "pqxx/internal/ignore-deprecated-pre.hxx"
   /// @deprecated Use factories @ref table or @ref raw_table instead.
-  [[deprecated("Use transaction_base::stream instead.")]] stream_from(
+  PQXX_DEPRECATED("Use transaction_base::stream instead.") stream_from(
     transaction_base &tx, std::string_view table) :
           stream_from{tx, from_table, table}
   {}
@@ -182,14 +182,14 @@ public:
 
   /// @deprecated Use factories @ref table or @ref raw_table instead.
   template<typename Columns>
-  [[deprecated("Use transaction_base::stream instead.")]] stream_from(
+  PQXX_DEPRECATED("Use transaction_base::stream instead.") stream_from(
     transaction_base &tx, std::string_view table, Columns const &columns) :
           stream_from{tx, from_table, table, columns}
   {}
 
   /// @deprecated Use factories @ref table or @ref raw_table instead.
   template<typename Iter>
-  [[deprecated("Use transaction_base::stream instead.")]] stream_from(
+  PQXX_DEPRECATED("Use transaction_base::stream instead.") stream_from(
     transaction_base &, std::string_view table, Iter columns_begin,
     Iter columns_end);
 
diff --git a/include/pqxx/stream_to.hxx b/include/pqxx/stream_to.hxx
index 281af28..838003d 100644
--- a/include/pqxx/stream_to.hxx
+++ b/include/pqxx/stream_to.hxx
@@ -248,7 +248,7 @@ public:
    * your data fields and the table is explicit in your code, and not hidden
    * in an "implicit contract" between your code and your schema.
    */
-  [[deprecated("Use table() or raw_table() factory.")]] stream_to(
+  PQXX_DEPRECATED("Use table() or raw_table() factory.") stream_to(
     transaction_base &tx, std::string_view table_name) :
           stream_to{tx, table_name, ""sv}
   {}
@@ -257,7 +257,7 @@ public:
   /** @deprecated Use @ref table or @ref raw_table as a factory.
    */
   template<typename Columns>
-  [[deprecated("Use table() or raw_table() factory.")]] stream_to(
+  PQXX_DEPRECATED("Use table() or raw_table() factory.") stream_to(
     transaction_base &, std::string_view table_name, Columns const &columns);
 
 private: