1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef _RVC_PLATFORM_DEFINIED_H__
- #define _RVC_PLATFORM_DEFINIED_H__
- #pragma once
- #if defined(linux) || defined(__linux) || defined(__linux__)
- # define RVC_OS_LINUX
- #elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER)
- # define RVC_OS_WIN
- #endif
- #if defined( _DEBUG ) || defined (__DEBUG__)
- # ifndef DEBUG
- # define DEBUG
- # endif
- #endif
- #if defined(DEBUG)
- #define WITH_DEBUG
- #elif defined(NDEBUG)
- #define WITH_NO_DEBUG
- #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__
|