Merge branch 'master' into hmqv

pull/263/head
Jeffrey Walton 2016-09-03 00:41:19 -04:00
commit 6ead66293f
2 changed files with 44 additions and 0 deletions

View File

@ -860,6 +860,22 @@ NAMESPACE_END
# define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1 # define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1
#endif // variadic templates #endif // variadic templates
// constexpr: MS at VS2015 (19.00); GCC at 4.6; Clang at 3.0; Intel 16.0; SunCC 12.4.
// Intel has mis-supported the feature since at least ICPC 13.00
#if (CRYPTOPP_MSC_VERSION >= 1900)
# define CRYPTOPP_CXX11_CONSTEXPR 1
#elif (__INTEL_COMPILER >= 1600)
# define CRYPTOPP_CXX11_CONSTEXPR 1
#elif defined(__clang__)
# if __has_feature(cxx_constexpr)
# define CRYPTOPP_CXX11_CONSTEXPR 1
# endif
#elif (CRYPTOPP_GCC_VERSION >= 40600)
# define CRYPTOPP_CXX11_CONSTEXPR 1
#elif (__SUNPRO_CC >= 0x5130)
# define CRYPTOPP_CXX11_CONSTEXPR 1
#endif // constexpr compilers
// TODO: Emplacement, R-values and Move semantics // TODO: Emplacement, R-values and Move semantics
// Needed because we are catching warnings with GCC and MSC // Needed because we are catching warnings with GCC and MSC
@ -873,6 +889,12 @@ NAMESPACE_END
# define CRYPTOPP_NO_THROW # define CRYPTOPP_NO_THROW
#endif // CRYPTOPP_CXX11_NOEXCEPT #endif // CRYPTOPP_CXX11_NOEXCEPT
#if defined(CRYPTOPP_CXX11_CONSTEXPR)
# define CRYPTOPP_CONSTEXPR constexpr
#else
# define CRYPTOPP_CONSTEXPR
#endif // CRYPTOPP_CXX11_CONSTEXPR
// Hack... CRYPTOPP_ALIGN_DATA is defined earlier, before C++11 alignas availability is determined // Hack... CRYPTOPP_ALIGN_DATA is defined earlier, before C++11 alignas availability is determined
#if defined(CRYPTOPP_CXX11_ALIGNAS) #if defined(CRYPTOPP_CXX11_ALIGNAS)
# undef CRYPTOPP_ALIGN_DATA # undef CRYPTOPP_ALIGN_DATA

View File

@ -860,6 +860,22 @@ NAMESPACE_END
# define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1 # define CRYPTOPP_CXX11_VARIADIC_TEMPLATES 1
#endif // variadic templates #endif // variadic templates
// constexpr: MS at VS2015 (19.00); GCC at 4.6; Clang at 3.0; Intel 16.0; SunCC 12.4.
// Intel has mis-supported the feature since at least ICPC 13.00
#if (CRYPTOPP_MSC_VERSION >= 1900)
# define CRYPTOPP_CXX11_CONSTEXPR 1
#elif (__INTEL_COMPILER >= 1600)
# define CRYPTOPP_CXX11_CONSTEXPR 1
#elif defined(__clang__)
# if __has_feature(cxx_constexpr)
# define CRYPTOPP_CXX11_CONSTEXPR 1
# endif
#elif (CRYPTOPP_GCC_VERSION >= 40600)
# define CRYPTOPP_CXX11_CONSTEXPR 1
#elif (__SUNPRO_CC >= 0x5130)
# define CRYPTOPP_CXX11_CONSTEXPR 1
#endif // constexpr compilers
// TODO: Emplacement, R-values and Move semantics // TODO: Emplacement, R-values and Move semantics
// Needed because we are catching warnings with GCC and MSC // Needed because we are catching warnings with GCC and MSC
@ -873,6 +889,12 @@ NAMESPACE_END
# define CRYPTOPP_NO_THROW # define CRYPTOPP_NO_THROW
#endif // CRYPTOPP_CXX11_NOEXCEPT #endif // CRYPTOPP_CXX11_NOEXCEPT
#if defined(CRYPTOPP_CXX11_CONSTEXPR)
# define CRYPTOPP_CONSTEXPR constexpr
#else
# define CRYPTOPP_CONSTEXPR
#endif // CRYPTOPP_CXX11_CONSTEXPR
// Hack... CRYPTOPP_ALIGN_DATA is defined earlier, before C++11 alignas availability is determined // Hack... CRYPTOPP_ALIGN_DATA is defined earlier, before C++11 alignas availability is determined
#if defined(CRYPTOPP_CXX11_ALIGNAS) #if defined(CRYPTOPP_CXX11_ALIGNAS)
# undef CRYPTOPP_ALIGN_DATA # undef CRYPTOPP_ALIGN_DATA