Don't detect pre-C++11 in <openssl/base.h> When we first added bssl::UniquePtr, we added a __cplusplus version check to tolerate C++98 and C++03 consumers of our public headers, and only giving them the C symbols. It is now 2025. Since then, we've added <openssl/span.h> and written C++17-requiring code in it, so C++11 and C++14 consumers of public headers already broke. No longer try to bifurcate our consumer and implementation C++ versions. Update-Note: C++ projects including BoringSSL headers now must be C++17 or later, matching the requirement for building BoringSSL. C projects are unaffected. C++ projects that were previously building at C++98 or C++03 will need to update to a language version from sometime in the last couple decades. Change-Id: I9e6ae1807398e5363ff71e0d2a83bfaa3f8bcbfc Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/84947 Commit-Queue: Rudolf Polzer <rpolzer@google.com> Auto-Submit: David Benjamin <davidben@google.com> Reviewed-by: Rudolf Polzer <rpolzer@google.com>
diff --git a/include/openssl/base.h b/include/openssl/base.h index 8707b54..d942427 100644 --- a/include/openssl/base.h +++ b/include/openssl/base.h
@@ -406,13 +406,6 @@ #define BSSL_NAMESPACE_END } #endif -// MSVC doesn't set __cplusplus to 201103 to indicate C++11 support (see -// https://connect.microsoft.com/VisualStudio/feedback/details/763051/a-value-of-predefined-macro-cplusplus-is-still-199711l) -// so MSVC is just assumed to support C++11. -#if !defined(BORINGSSL_NO_CXX) && __cplusplus < 201103L && !defined(_MSC_VER) -#define BORINGSSL_NO_CXX -#endif - #if defined(BORINGSSL_NO_CXX) #define BORINGSSL_MAKE_DELETER(type, deleter)