#ifndef SPROUT_CONFIG_COMPILER_CLANG_HPP #define SPROUT_CONFIG_COMPILER_CLANG_HPP #if !__has_feature(cxx_constexpr) # define SPROUT_NO_CONSTEXPR #endif #if !__has_feature(cxx_defaulted_functions) # define SPROUT_NO_DEFAULTED_FUNCTIONS #endif #if !__has_feature(cxx_deleted_functions) # define SPROUT_NO_DELETED_FUNCTIONS #endif #if !__has_feature(cxx_explicit_conversions) # define SPROUT_NO_EXPLICIT_CONVERSION_OPERATORS #endif #if !__has_feature(cxx_noexcept) # define SPROUT_NO_NOEXCEPT #endif #if !__has_feature(cxx_alias_templates) # define SPROUT_NO_TEMPLATE_ALIASES #endif #if !__has_feature(cxx_user_literals) # define SPROUT_NO_USER_DEFINED_LITERALS #endif #if !__has_feature(cxx_delegating_constructors) # define SPROUT_NO_DELEGATING_CONSTRUCTORS #endif #if !__has_feature(cxx_unicode_literals) # define SPROUT_NO_UNICODE_LITERALS #endif #if !defined(SPROUT_NO_CONSTEXPR) # define SPROUT_WORKAROUND_NOT_TERMINATE_RECURSIVE_CONSTEXPR_FUNCTION_TEMPLATE #endif #endif // #ifndef SPROUT_CONFIG_COMPILER_CLANG_HPP