C++ headers should be more aggressively wrapped in extern "C++". This is kind of a mess. Some projects will wrap our public headers in extern "C", so we use extern "C++" around our C++ APIs. However this needs to be done when including C++ standard library headers too since they don't always, themselves, guard against being wrapped in extern "C". Change-Id: Ib7dd4a6f69ca81dd525ecaa1418b3b7ba85b6579 Reviewed-on: https://boringssl-review.googlesource.com/18504 Reviewed-by: Adam Langley <agl@google.com>
diff --git a/include/openssl/span.h b/include/openssl/span.h index c21f444..4c09159 100644 --- a/include/openssl/span.h +++ b/include/openssl/span.h
@@ -19,13 +19,11 @@ #if !defined(BORINGSSL_NO_CXX) +extern "C++" { + #include <algorithm> #include <type_traits> -#include "../crypto/internal.h" - -extern "C++" { - namespace bssl { template <typename T>