|
@@ -30,4 +30,36 @@
|
|
|
|
|
|
#endif
|
|
|
|
|
|
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 202311L)
|
|
|
+ #define RVC_DEPRECATED(obj) [[deprecated]] obj
|
|
|
+ #define RVC_DEPRECATED_VAR(text, obj) [[deprecated(text)]] obj
|
|
|
+ #define RVC_NORETURN(obj) [[noreturn]] obj
|
|
|
+#elif defined(WIN32) && !defined(__CYGWIN__)
|
|
|
+ #define RVC_DEPRECATED(obj) __declspec(deprecated) obj
|
|
|
+ #define RVC_DEPRECATED_VAR(text, obj) __declspec(deprecated(text)) obj
|
|
|
+ #define RVC_NORETURN(obj) __declspec(noreturn) obj
|
|
|
+#elif defined(__GNUC__)
|
|
|
+#define RVC_DEPRECATED(obj) obj __attribute__((deprecated))
|
|
|
+#define RVC_DEPRECATED_VAR(text, obj) obj __attribute__((deprecated(text)))
|
|
|
+#define RVC_NORETURN(obj) __attribute__((__noreturn__)) obj
|
|
|
+#else
|
|
|
+ #define RVC_DEPRECATED(obj) obj
|
|
|
+ #define RVC_DEPRECATED_VAR(text, obj) obj
|
|
|
+ #define RVC_NORETURN(obj) obj
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(__cplusplus) && (__cplusplus >= 201703L)
|
|
|
+ #define RVC_ATTR_UNUSED [[maybe_unused]]
|
|
|
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 202000L)
|
|
|
+ #define RVC_ATTR_UNUSED [[maybe_unused]]
|
|
|
+#elif defined(__GNUC__) || defined(__clang__)
|
|
|
+ #define RVC_ATTR_UNUSED __attribute__((unused))
|
|
|
+#else
|
|
|
+ #define RVC_ATTR_UNUSED /** @since version 3.12.0 */
|
|
|
+#endif
|
|
|
+
|
|
|
+#define RVC_UNUSED(x) (void)(x)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
#endif //_RVC_PLATFORM_DEFINIED_H__
|