2013-08-08 09:54:33 +00:00
|
|
|
/*=============================================================================
|
2017-07-29 05:20:01 +00:00
|
|
|
Copyright (c) 2011-2017 Bolero MURAKAMI
|
2013-08-08 09:54:33 +00:00
|
|
|
https://github.com/bolero-MURAKAMI/Sprout
|
|
|
|
|
|
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
|
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
=============================================================================*/
|
2012-04-13 07:00:30 +00:00
|
|
|
#ifndef SPROUT_CONFIG_COMPILER_CLANG_HPP
|
|
|
|
#define SPROUT_CONFIG_COMPILER_CLANG_HPP
|
|
|
|
|
|
|
|
#if !__has_feature(cxx_constexpr)
|
2013-06-29 04:27:11 +00:00
|
|
|
# define SPROUT_NO_CXX11_CONSTEXPR
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif
|
|
|
|
|
2012-12-17 14:10:23 +00:00
|
|
|
#if !__has_feature(cxx_defaulted_functions)
|
2013-06-29 04:27:11 +00:00
|
|
|
# define SPROUT_NO_CXX11_DEFAULTED_FUNCTIONS
|
2012-12-17 14:10:23 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !__has_feature(cxx_deleted_functions)
|
2013-06-29 04:27:11 +00:00
|
|
|
# define SPROUT_NO_CXX11_DELETED_FUNCTIONS
|
2012-12-17 14:10:23 +00:00
|
|
|
#endif
|
|
|
|
|
2013-02-18 17:49:10 +00:00
|
|
|
#if !__has_feature(cxx_explicit_conversions)
|
2013-06-29 04:27:11 +00:00
|
|
|
# define SPROUT_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
2013-02-18 17:49:10 +00:00
|
|
|
#endif
|
|
|
|
|
2012-04-13 07:00:30 +00:00
|
|
|
#if !__has_feature(cxx_noexcept)
|
2013-06-29 04:27:11 +00:00
|
|
|
# define SPROUT_NO_CXX11_NOEXCEPT
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !__has_feature(cxx_alias_templates)
|
2013-06-29 04:27:11 +00:00
|
|
|
# define SPROUT_NO_CXX11_TEMPLATE_ALIASES
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !__has_feature(cxx_user_literals)
|
2013-06-29 04:27:11 +00:00
|
|
|
# define SPROUT_NO_CXX11_USER_DEFINED_LITERALS
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !__has_feature(cxx_delegating_constructors)
|
2013-06-29 04:27:11 +00:00
|
|
|
# define SPROUT_NO_CXX11_DELEGATING_CONSTRUCTORS
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif
|
|
|
|
|
2012-12-17 14:10:23 +00:00
|
|
|
#if !__has_feature(cxx_unicode_literals)
|
2013-06-29 04:27:11 +00:00
|
|
|
# define SPROUT_NO_CXX11_UNICODE_LITERALS
|
2012-12-17 14:10:23 +00:00
|
|
|
#endif
|
|
|
|
|
2014-02-20 15:25:55 +00:00
|
|
|
#if !__has_feature(cxx_attributes)
|
|
|
|
# define SPROUT_NO_CXX11_ATTRIBUTES
|
|
|
|
#endif
|
|
|
|
|
2014-01-27 10:09:00 +00:00
|
|
|
#if !__has_feature(cxx_relaxed_constexpr)
|
2013-10-05 04:35:26 +00:00
|
|
|
# define SPROUT_NO_CXX14_CONSTEXPR
|
|
|
|
#endif
|
2013-06-29 04:27:11 +00:00
|
|
|
|
2014-01-27 10:09:00 +00:00
|
|
|
#if !__has_feature(cxx_variable_templates)
|
|
|
|
# define SPROUT_NO_CXX14_VARIABLE_TEMPLATES
|
|
|
|
#endif
|
2014-01-06 13:45:41 +00:00
|
|
|
|
2014-03-19 10:50:00 +00:00
|
|
|
#if (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 0))
|
|
|
|
# define SPROUT_HAS_CONSTEXPR_COPYSIGN_FUNCTION
|
|
|
|
#endif
|
|
|
|
|
2013-06-29 04:27:11 +00:00
|
|
|
#if !defined(SPROUT_NO_CXX11_CONSTEXPR)
|
2012-11-12 04:29:56 +00:00
|
|
|
# define SPROUT_WORKAROUND_NOT_TERMINATE_RECURSIVE_CONSTEXPR_FUNCTION_TEMPLATE
|
|
|
|
#endif
|
2012-07-05 08:39:19 +00:00
|
|
|
|
2014-01-27 10:09:00 +00:00
|
|
|
#if (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
|
|
|
|
# define SPROUT_WORKAROUND_NEEDS_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
|
|
|
#endif
|
|
|
|
|
2012-04-13 07:00:30 +00:00
|
|
|
#endif // #ifndef SPROUT_CONFIG_COMPILER_CLANG_HPP
|