Fix compile under AIX 7.1

pull/484/head
Jeffrey Walton 2017-08-31 06:29:35 -04:00
parent 5cd854b2d3
commit 67bcdaed9a
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
1 changed files with 12 additions and 2 deletions

View File

@ -809,7 +809,7 @@ NAMESPACE_END
// ************** Instrumentation *************** // ************** Instrumentation ***************
// GCC does not support; see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78204 // GCC does not support; see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=78204
#if (CRYPTOPP_LLVM_CLANG_VERSION >= 30700) || (CRYPTOPP_APPLE_CLANG_VERSION >= 70000) #if (CRYPTOPP_LLVM_CLANG_VERSION >= 30700) || (CRYPTOPP_APPLE_CLANG_VERSION >= 70000)
# define CRYPTOPP_NO_SANITIZE(x) __attribute__((no_sanitize(x))) # define CRYPTOPP_NO_SANITIZE(x) __attribute__((no_sanitize(x)))
#else #else
@ -982,10 +982,20 @@ NAMESPACE_END
#endif // nullptr_t compilers #endif // nullptr_t 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
#endif // CRYPTOPP_CXX11 #endif // CRYPTOPP_CXX11
// Hack ahead. New GCC compilers like GCC 6 on AIX 7.0 or earlier don't have the
// synchronization gear. However, Wakely's test used for Apple does not work
// on the GCC/AIX combination. Another twist is we need other stuff from C++11,
// like no-except destructors. Dumping preprocessors shows the following may
// apply: http://stackoverflow.com/q/14191566/608639.
#if defined(_AIX) && defined(__GNUC__)
# if !defined(_GLIBCXX_HAS_GTHREADS)
# undef CRYPTOPP_CXX11_SYNCHRONIZATION
# endif
#endif
#if defined(CRYPTOPP_CXX11_NOEXCEPT) #if defined(CRYPTOPP_CXX11_NOEXCEPT)
# define CRYPTOPP_THROW noexcept(false) # define CRYPTOPP_THROW noexcept(false)
# define CRYPTOPP_NO_THROW noexcept(true) # define CRYPTOPP_NO_THROW noexcept(true)