From 4a78249614a406694e444565fa74f359f2e3570d Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 5 Jun 2018 08:38:13 +0200 Subject: compat/macros: simplify static_warning --- compat/macros.hpp | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) (limited to 'compat') diff --git a/compat/macros.hpp b/compat/macros.hpp index 01d9cd83..564dcc8d 100644 --- a/compat/macros.hpp +++ b/compat/macros.hpp @@ -55,33 +55,14 @@ // from now only C++ macros -#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 - -namespace static_warning_detail { - template struct test___132; - - template<> - struct test___132 - { - static constexpr inline void check() {} - }; -} // ns static_warning_detail +template +[[deprecated]] constexpr force_inline void static_warn() {} -#define static_warning_template(cond, msg) \ - { \ - template \ - struct ::static_warning_detail::test___132 \ - { \ - OTR_DEPRECATE(msg, static constexpr inline void check(), {}) \ - }; \ - ::static_warning_detail::test___132<(cond)>::check(); \ - } +template<> +constexpr force_inline void static_warn() {} -#define static_warning(cond, msg) \ - static_warning_template(cond, PP_CAT(msg, PP_CAT("\nExpression: ", #cond))) +#define static_warning(cond) \ + static_warn<(cond)>(); \ +// end c++-only macros #endif -- cgit v1.2.3