#ifndef ORC_RT_COMPILER_H
#define ORC_RT_COMPILER_H
#if defined(_WIN32)
#define ORC_RT_INTERFACE …
#define ORC_RT_HIDDEN
#define ORC_RT_IMPORT …
#else
#define ORC_RT_INTERFACE …
#define ORC_RT_HIDDEN …
#define ORC_RT_IMPORT …
#endif
#ifndef __has_builtin
#define __has_builtin …
#endif
#ifndef ORC_RT_HAS_CPP_ATTRIBUTE
#if defined(__cplusplus) && defined(__has_cpp_attribute)
#define ORC_RT_HAS_CPP_ATTRIBUTE(x) …
#else
#define ORC_RT_HAS_CPP_ATTRIBUTE …
#endif
#endif
#if defined(__cplusplus) && __cplusplus > 201402L && \
ORC_RT_HAS_CPP_ATTRIBUTE(nodiscard)
#define ORC_RT_NODISCARD …
#elif ORC_RT_HAS_CPP_ATTRIBUTE(clang::warn_unused_result)
#define ORC_RT_NODISCARD …
#elif defined(__GNUC__) && ORC_RT_HAS_CPP_ATTRIBUTE(nodiscard)
#define ORC_RT_NODISCARD …
#else
#define ORC_RT_NODISCARD
#endif
#if __has_builtin(__builtin_expect)
#define ORC_RT_LIKELY(EXPR) …
#define ORC_RT_UNLIKELY(EXPR) …
#else
#define ORC_RT_LIKELY …
#define ORC_RT_UNLIKELY …
#endif
#if defined(__APPLE__)
#define ORC_RT_WEAK_IMPORT …
#elif defined(_WIN32)
#define ORC_RT_WEAK_IMPORT
#else
#define ORC_RT_WEAK_IMPORT …
#endif
#endif