summaryrefslogtreecommitdiffhomepage
path: root/compat
diff options
context:
space:
mode:
Diffstat (limited to 'compat')
-rw-r--r--compat/linkage-macros.hpp10
-rw-r--r--compat/macros.hpp12
2 files changed, 13 insertions, 9 deletions
diff --git a/compat/linkage-macros.hpp b/compat/linkage-macros.hpp
index 9e71ac8c..967dfba9 100644
--- a/compat/linkage-macros.hpp
+++ b/compat/linkage-macros.hpp
@@ -11,5 +11,11 @@
# define OTR_GENERIC_IMPORT
#endif
-#define OTR_TEMPLATE_EXPORT template class OTR_GENERIC_EXPORT
-#define OTR_TEMPLATE_IMPORT extern template class OTR_GENERIC_IMPORT
+#define OTR_TEMPLATE_IMPORT(x) extern template class OTR_GENERIC_IMPORT x
+#define OTR_TEMPLATE_EXPORT_(x) template class OTR_GENERIC_EXPORT x
+
+#if defined _MSC_VER
+# define OTR_TEMPLATE_EXPORT OTR_TEMPLATE_EXPORT_
+#else
+# define OTR_TEMPLATE_EXPORT OTR_TEMPLATE_EXPORT_
+#endif
diff --git a/compat/macros.hpp b/compat/macros.hpp
index c0bc66f4..01d9cd83 100644
--- a/compat/macros.hpp
+++ b/compat/macros.hpp
@@ -46,23 +46,21 @@
# define OTR_FUNNAME (__PRETTY_FUNCTION__)
#endif
+#if !defined PP_CAT
+# define PP_CAT(x,y) PP_CAT1(x,y)
+# define PP_CAT1(x,y) x##y
+#endif
+
#if defined __cplusplus
// from now only C++ macros
-# define thunk(...) ([&]() { __VA_ARGS__; })
-
#if defined _MSC_VER
# define OTR_DEPRECATE(msg, decl, body) __declspec(deprecated(msg)) decl body
#else
# define OTR_DEPRECATE(msg, decl, body) decl body __attribute__((deprecated(msg)))
#endif
-#if !defined PP_CAT
-# define PP_CAT(x,y) PP_CAT1(x,y)
-# define PP_CAT1(x,y) x##y
-#endif
-
namespace static_warning_detail {
template<bool> struct test___132;