Fix some IWYU from clang-tidy

Change-Id: I6fac30ad00cb2040b34a70cdf28a1fc46a6a6964
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/100987
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: Xiangfei Ding <xfding@google.com>
Auto-Submit: Lily Chen <chlily@google.com>
diff --git a/crypto/x509/x509_mtc.cc b/crypto/x509/x509_mtc.cc
index 31bc14c..9838a0c 100644
--- a/crypto/x509/x509_mtc.cc
+++ b/crypto/x509/x509_mtc.cc
@@ -18,6 +18,8 @@
 #include <openssl/evp.h>
 #include <openssl/span.h>
 
+#include <assert.h>
+
 #include "../internal.h"
 #include "./internal.h"
 
diff --git a/crypto/x509/x509_test.cc b/crypto/x509/x509_test.cc
index d8b428b..daaf20e 100644
--- a/crypto/x509/x509_test.cc
+++ b/crypto/x509/x509_test.cc
@@ -18,6 +18,7 @@
 #include <functional>
 #include <initializer_list>
 #include <iomanip>
+#include <ios>
 #include <iterator>
 #include <memory>
 #include <sstream>
diff --git a/ssl/d1_both.cc b/ssl/d1_both.cc
index eaac8c9..27208cc 100644
--- a/ssl/d1_both.cc
+++ b/ssl/d1_both.cc
@@ -16,9 +16,12 @@
 
 #include <assert.h>
 #include <limits.h>
+#include <stdint.h>
 #include <string.h>
 
 #include <algorithm>
+#include <optional>
+#include <utility>
 #include <variant>
 
 #include <openssl/bytestring.h>
@@ -29,6 +32,7 @@
 
 #include "../crypto/bytestring/internal.h"
 #include "../crypto/internal.h"
+#include "../crypto/mem_internal.h"
 #include "internal.h"