Go to the documentation of this file. 13 #ifndef __STOUT_ATTRIBUTES_HPP__ 14 #define __STOUT_ATTRIBUTES_HPP__ 16 #ifdef __has_cpp_attribute 17 # define STOUT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) 19 # define STOUT_HAS_CPP_ATTRIBUTE(x) 0 26 #if STOUT_HAS_CPP_ATTRIBUTE(noreturn) > 0 27 # define STOUT_NORETURN [[noreturn]] 28 #elif defined(__WINDOWS__) 29 # define STOUT_NORETURN __declspec(noreturn) 31 # define STOUT_NORETURN __attribute__((noreturn)) 35 #define NORETURN STOUT_NORETURN 38 #if STOUT_HAS_CPP_ATTRIBUTE(nodiscard) > 0 39 # define STOUT_NODISCARD [[nodiscard]] 41 # define STOUT_NODISCARD 52 #if defined(__clang__) && __cplusplus >= 201402L 53 # define STOUT_DEPRECATED [[deprecated]] 54 #elif defined(__clang__) 55 # define STOUT_DEPRECATED __attribute__((deprecated)) 56 #elif STOUT_HAS_CPP_ATTRIBUTE(deprecated) > 0 57 # define STOUT_DEPRECATED [[deprecated]] 59 # define STOUT_DEPRECATED 63 #endif // __STOUT_ATTRIBUTES_HPP__