From 739d320e488fafd7a1b0c8af4bdaa81f8921fdc4 Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Thu, 30 Oct 2025 16:14:52 -0500 Subject: [PATCH 1/5] Reorder and annotate component include directives with "IWYU pragma: export" --- src/common/src/mlib/platform.h | 10 ++--- src/libbson/src/bson/bson-context-private.h | 5 ++- src/libbson/src/bson/bson-error-private.h | 5 ++- src/libbson/src/bson/bson-json-private.h | 1 + src/libbson/src/bson/bson-private.h | 3 ++ src/libbson/src/bson/bson-vector-private.h | 4 ++ src/libbson/src/bson/bson-vector.h | 2 + src/libbson/src/bson/bson.h | 44 ++++++++++--------- src/libbson/src/bson/compat.h | 33 +++++++------- src/libbson/src/bson/macros.h | 2 +- src/libmongoc/src/mongoc/mongoc-apm-private.h | 4 +- .../mongoc/mongoc-bulk-operation-private.h | 4 ++ .../src/mongoc/mongoc-change-stream-private.h | 5 ++- .../src/mongoc/mongoc-client-pool-private.h | 5 ++- .../src/mongoc/mongoc-client-private.h | 5 ++- .../mongoc/mongoc-client-session-private.h | 4 +- .../mongoc-client-side-encryption-private.h | 5 ++- .../src/mongoc/mongoc-collection-private.h | 4 ++ .../src/mongoc/mongoc-crypto-cng-private.h | 2 +- .../mongoc-crypto-common-crypto-private.h | 3 ++ .../mongoc/mongoc-crypto-openssl-private.h | 2 +- .../src/mongoc/mongoc-cursor-private.h | 4 ++ .../src/mongoc/mongoc-database-private.h | 4 ++ .../src/mongoc/mongoc-errno-private.h | 3 +- .../src/mongoc/mongoc-error-private.h | 5 ++- .../mongoc/mongoc-find-and-modify-private.h | 4 ++ .../src/mongoc/mongoc-flags-private.h | 4 ++ .../src/mongoc/mongoc-gridfs-bucket-private.h | 4 ++ .../mongoc/mongoc-gridfs-file-list-private.h | 4 ++ .../mongoc/mongoc-gridfs-file-page-private.h | 5 ++- .../src/mongoc/mongoc-gridfs-file-private.h | 5 ++- .../src/mongoc/mongoc-gridfs-private.h | 4 ++ .../src/mongoc/mongoc-handshake-private.h | 4 ++ .../src/mongoc/mongoc-host-list-private.h | 4 +- src/libmongoc/src/mongoc/mongoc-log-private.h | 5 ++- .../src/mongoc/mongoc-rand-private.h | 4 ++ .../src/mongoc/mongoc-read-concern-private.h | 4 +- .../src/mongoc/mongoc-read-prefs-private.h | 7 ++- .../src/mongoc/mongoc-server-api-private.h | 2 +- .../mongoc-server-description-private.h | 6 ++- .../src/mongoc/mongoc-socket-private.h | 2 +- src/libmongoc/src/mongoc/mongoc-ssl-private.h | 6 ++- .../src/mongoc/mongoc-stream-private.h | 5 ++- .../src/mongoc/mongoc-stream-tls-private.h | 4 ++ ...mongoc-stream-tls-secure-channel-private.h | 5 +++ .../mongoc/mongoc-stream-tls-secure-channel.h | 3 ++ ...ngoc-stream-tls-secure-transport-private.h | 5 +++ .../mongoc-stream-tls-secure-transport.h | 3 ++ .../mongoc/mongoc-structured-log-private.h | 6 ++- .../mongoc-topology-description-private.h | 5 ++- .../src/mongoc/mongoc-topology-description.h | 1 + src/libmongoc/src/mongoc/mongoc-uri-private.h | 6 ++- .../src/mongoc/mongoc-util-private.h | 4 ++ .../src/mongoc/mongoc-write-concern-private.h | 4 ++ 54 files changed, 218 insertions(+), 75 deletions(-) diff --git a/src/common/src/mlib/platform.h b/src/common/src/mlib/platform.h index bdc8bb3832..88095756c9 100644 --- a/src/common/src/mlib/platform.h +++ b/src/common/src/mlib/platform.h @@ -37,15 +37,15 @@ #define _WIN32_WINNT 0x601 #endif // Winsock must be included before windows.h - #include - #include + #include // IWYU pragma: export + #include // IWYU pragma: export #endif // POSIX headers #if defined(__unix__) || defined(__unix) || defined(__APPLE__) - #include - #include - #include + #include // IWYU pragma: export + #include // IWYU pragma: export + #include // IWYU pragma: export #endif // clang-format on diff --git a/src/libbson/src/bson/bson-context-private.h b/src/libbson/src/bson/bson-context-private.h index c2fd3a50f7..8097df498e 100644 --- a/src/libbson/src/bson/bson-context-private.h +++ b/src/libbson/src/bson/bson-context-private.h @@ -20,10 +20,11 @@ #ifndef BSON_CONTEXT_PRIVATE_H #define BSON_CONTEXT_PRIVATE_H +#include // IWYU pragma: export -#include +// -#include +#include BSON_BEGIN_DECLS diff --git a/src/libbson/src/bson/bson-error-private.h b/src/libbson/src/bson/bson-error-private.h index 602e6be27a..32f4f6b885 100644 --- a/src/libbson/src/bson/bson-error-private.h +++ b/src/libbson/src/bson/bson-error-private.h @@ -19,7 +19,10 @@ #ifndef BSON_ERROR_PRIVATE_H #define BSON_ERROR_PRIVATE_H -#include +#include // IWYU pragma: export + +// + #include diff --git a/src/libbson/src/bson/bson-json-private.h b/src/libbson/src/bson/bson-json-private.h index 7537d6fc45..4e9dc730c0 100644 --- a/src/libbson/src/bson/bson-json-private.h +++ b/src/libbson/src/bson/bson-json-private.h @@ -19,6 +19,7 @@ #ifndef BSON_JSON_PRIVATE_H #define BSON_JSON_PRIVATE_H +#include // IWYU pragma: export struct _bson_json_opts_t { bson_json_mode_t mode; diff --git a/src/libbson/src/bson/bson-private.h b/src/libbson/src/bson/bson-private.h index 2a91f32761..8ffb491f30 100644 --- a/src/libbson/src/bson/bson-private.h +++ b/src/libbson/src/bson/bson-private.h @@ -20,6 +20,9 @@ #ifndef BSON_PRIVATE_H #define BSON_PRIVATE_H +#include // IWYU pragma: export + +// #include #include diff --git a/src/libbson/src/bson/bson-vector-private.h b/src/libbson/src/bson/bson-vector-private.h index 6749d71db9..100da3e79c 100644 --- a/src/libbson/src/bson/bson-vector-private.h +++ b/src/libbson/src/bson/bson-vector-private.h @@ -19,6 +19,10 @@ #ifndef BSON_VECTOR_PRIVATE_H #define BSON_VECTOR_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libbson/src/bson/bson-vector.h b/src/libbson/src/bson/bson-vector.h index a4b9ea33e3..f58c982da9 100644 --- a/src/libbson/src/bson/bson-vector.h +++ b/src/libbson/src/bson/bson-vector.h @@ -20,6 +20,8 @@ #define BSON_VECTOR_H #include +#include +#include #include #include diff --git a/src/libbson/src/bson/bson.h b/src/libbson/src/bson/bson.h index d8f0d3ac0d..6fd96fef79 100644 --- a/src/libbson/src/bson/bson.h +++ b/src/libbson/src/bson/bson.h @@ -20,27 +20,29 @@ #define BSON_INSIDE -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export #include #include diff --git a/src/libbson/src/bson/compat.h b/src/libbson/src/bson/compat.h index 0840714796..b1750470e4 100644 --- a/src/libbson/src/bson/compat.h +++ b/src/libbson/src/bson/compat.h @@ -28,8 +28,8 @@ #endif #endif -#include -#include +#include // IWYU pragma: export +#include // IWYU pragma: export #ifdef BSON_OS_WIN32 @@ -42,36 +42,37 @@ #ifndef NOMINMAX #define NOMINMAX #endif -#include +#include // IWYU pragma: export #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN -#include +#include // IWYU pragma: export #undef WIN32_LEAN_AND_MEAN #else -#include +#include // IWYU pragma: export #endif -#include -#include +#include // IWYU pragma: export +#include // IWYU pragma: export #endif #ifdef BSON_OS_UNIX -#include -#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export #endif #include -#include -#include +#include // IWYU pragma: export +#include // IWYU pragma: export #include #include -#include -#include -#include -#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export +#include // IWYU pragma: export #include #include #include @@ -81,7 +82,7 @@ BSON_BEGIN_DECLS #if !defined(_MSC_VER) || (_MSC_VER >= 1800) -#include +#include // IWYU pragma: export #endif #ifdef _MSC_VER #ifndef __cplusplus diff --git a/src/libbson/src/bson/macros.h b/src/libbson/src/bson/macros.h index 38b73644bb..b9c84802bb 100644 --- a/src/libbson/src/bson/macros.h +++ b/src/libbson/src/bson/macros.h @@ -17,7 +17,7 @@ #ifndef BSON_MACROS_H #define BSON_MACROS_H -#include +#include // IWYU pragma: export #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-apm-private.h b/src/libmongoc/src/mongoc/mongoc-apm-private.h index 3eac99aefb..1b3cbadb24 100644 --- a/src/libmongoc/src/mongoc/mongoc-apm-private.h +++ b/src/libmongoc/src/mongoc/mongoc-apm-private.h @@ -19,7 +19,9 @@ #ifndef MONGOC_APM_PRIVATE_H #define MONGOC_APM_PRIVATE_H -#include +#include // IWYU pragma: export + +// #include diff --git a/src/libmongoc/src/mongoc/mongoc-bulk-operation-private.h b/src/libmongoc/src/mongoc/mongoc-bulk-operation-private.h index 7b35a02ffe..65abded46c 100644 --- a/src/libmongoc/src/mongoc/mongoc-bulk-operation-private.h +++ b/src/libmongoc/src/mongoc/mongoc-bulk-operation-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_BULK_OPERATION_PRIVATE_H #define MONGOC_BULK_OPERATION_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-change-stream-private.h b/src/libmongoc/src/mongoc/mongoc-change-stream-private.h index 9fbc5084c3..c26d9116df 100644 --- a/src/libmongoc/src/mongoc/mongoc-change-stream-private.h +++ b/src/libmongoc/src/mongoc/mongoc-change-stream-private.h @@ -19,10 +19,13 @@ #ifndef MONGOC_CHANGE_STREAM_PRIVATE_H #define MONGOC_CHANGE_STREAM_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include -#include #include #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-client-pool-private.h b/src/libmongoc/src/mongoc/mongoc-client-pool-private.h index ffd2735be0..675cd61f71 100644 --- a/src/libmongoc/src/mongoc/mongoc-client-pool-private.h +++ b/src/libmongoc/src/mongoc/mongoc-client-pool-private.h @@ -19,9 +19,12 @@ #ifndef MONGOC_CLIENT_POOL_PRIVATE_H #define MONGOC_CLIENT_POOL_PRIVATE_H +#include // IWYU pragma: export + +// + #include -#include #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-client-private.h b/src/libmongoc/src/mongoc/mongoc-client-private.h index 61d485baf1..5257e21bc9 100644 --- a/src/libmongoc/src/mongoc/mongoc-client-private.h +++ b/src/libmongoc/src/mongoc/mongoc-client-private.h @@ -19,12 +19,15 @@ #ifndef MONGOC_CLIENT_PRIVATE_H #define MONGOC_CLIENT_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include #include #include -#include #include #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-client-session-private.h b/src/libmongoc/src/mongoc/mongoc-client-session-private.h index 8914208489..ad890fbb25 100644 --- a/src/libmongoc/src/mongoc/mongoc-client-session-private.h +++ b/src/libmongoc/src/mongoc/mongoc-client-session-private.h @@ -19,7 +19,9 @@ #ifndef MONGOC_CLIENT_SESSION_PRIVATE_H #define MONGOC_CLIENT_SESSION_PRIVATE_H -#include +#include // IWYU pragma: export + +// #include diff --git a/src/libmongoc/src/mongoc/mongoc-client-side-encryption-private.h b/src/libmongoc/src/mongoc/mongoc-client-side-encryption-private.h index 0edbdd5da2..7f01532681 100644 --- a/src/libmongoc/src/mongoc/mongoc-client-side-encryption-private.h +++ b/src/libmongoc/src/mongoc/mongoc-client-side-encryption-private.h @@ -19,11 +19,14 @@ #ifndef MONGOC_CLIENT_SIDE_ENCRYPTION_PRIVATE_H #define MONGOC_CLIENT_SIDE_ENCRYPTION_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include #include -#include #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-collection-private.h b/src/libmongoc/src/mongoc/mongoc-collection-private.h index 2b65e7049c..04b0111511 100644 --- a/src/libmongoc/src/mongoc/mongoc-collection-private.h +++ b/src/libmongoc/src/mongoc/mongoc-collection-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_COLLECTION_PRIVATE_H #define MONGOC_COLLECTION_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-crypto-cng-private.h b/src/libmongoc/src/mongoc/mongoc-crypto-cng-private.h index a84c55c1ad..22859cae24 100644 --- a/src/libmongoc/src/mongoc/mongoc-crypto-cng-private.h +++ b/src/libmongoc/src/mongoc/mongoc-crypto-cng-private.h @@ -16,7 +16,7 @@ #include -#include +#include // IWYU pragma: export #include diff --git a/src/libmongoc/src/mongoc/mongoc-crypto-common-crypto-private.h b/src/libmongoc/src/mongoc/mongoc-crypto-common-crypto-private.h index e8efc7f5c8..8f5f7b1abf 100644 --- a/src/libmongoc/src/mongoc/mongoc-crypto-common-crypto-private.h +++ b/src/libmongoc/src/mongoc/mongoc-crypto-common-crypto-private.h @@ -21,6 +21,9 @@ #ifndef MONGOC_CRYPTO_COMMON_CRYPTO_PRIVATE_H #define MONGOC_CRYPTO_COMMON_CRYPTO_PRIVATE_H +#include // IWYU pragma: export + +// #include diff --git a/src/libmongoc/src/mongoc/mongoc-crypto-openssl-private.h b/src/libmongoc/src/mongoc/mongoc-crypto-openssl-private.h index b475099161..7955efe029 100644 --- a/src/libmongoc/src/mongoc/mongoc-crypto-openssl-private.h +++ b/src/libmongoc/src/mongoc/mongoc-crypto-openssl-private.h @@ -25,7 +25,7 @@ #ifndef MONGOC_CRYPTO_OPENSSL_PRIVATE_H #define MONGOC_CRYPTO_OPENSSL_PRIVATE_H -#include +#include // IWYU pragma: export BSON_BEGIN_DECLS diff --git a/src/libmongoc/src/mongoc/mongoc-cursor-private.h b/src/libmongoc/src/mongoc/mongoc-cursor-private.h index 5d9ea2fd8b..522746505d 100644 --- a/src/libmongoc/src/mongoc/mongoc-cursor-private.h +++ b/src/libmongoc/src/mongoc/mongoc-cursor-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_CURSOR_PRIVATE_H #define MONGOC_CURSOR_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-database-private.h b/src/libmongoc/src/mongoc/mongoc-database-private.h index 2c104c48b3..1b64bf80e1 100644 --- a/src/libmongoc/src/mongoc/mongoc-database-private.h +++ b/src/libmongoc/src/mongoc/mongoc-database-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_DATABASE_PRIVATE_H #define MONGOC_DATABASE_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-errno-private.h b/src/libmongoc/src/mongoc/mongoc-errno-private.h index d84767ab74..e694abc28e 100644 --- a/src/libmongoc/src/mongoc/mongoc-errno-private.h +++ b/src/libmongoc/src/mongoc/mongoc-errno-private.h @@ -21,7 +21,8 @@ #include -#include +#include // IWYU pragma: export + #ifdef _WIN32 #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-error-private.h b/src/libmongoc/src/mongoc/mongoc-error-private.h index b841ae526e..e89423572f 100644 --- a/src/libmongoc/src/mongoc/mongoc-error-private.h +++ b/src/libmongoc/src/mongoc/mongoc-error-private.h @@ -19,7 +19,10 @@ #ifndef MONGOC_ERROR_PRIVATE_H #define MONGOC_ERROR_PRIVATE_H -#include +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-find-and-modify-private.h b/src/libmongoc/src/mongoc/mongoc-find-and-modify-private.h index 1965492a39..657a60b589 100644 --- a/src/libmongoc/src/mongoc/mongoc-find-and-modify-private.h +++ b/src/libmongoc/src/mongoc/mongoc-find-and-modify-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_FIND_AND_MODIFY_PRIVATE_H #define MONGOC_FIND_AND_MODIFY_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-flags-private.h b/src/libmongoc/src/mongoc/mongoc-flags-private.h index b5c89d6131..9748be4f64 100644 --- a/src/libmongoc/src/mongoc/mongoc-flags-private.h +++ b/src/libmongoc/src/mongoc/mongoc-flags-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_FLAGS_PRIVATE_H #define MONGOC_FLAGS_PRIVATE_H +#include // IWYU pragma: export + +// + #include BSON_BEGIN_DECLS diff --git a/src/libmongoc/src/mongoc/mongoc-gridfs-bucket-private.h b/src/libmongoc/src/mongoc/mongoc-gridfs-bucket-private.h index 4703207a49..a71645665e 100644 --- a/src/libmongoc/src/mongoc/mongoc-gridfs-bucket-private.h +++ b/src/libmongoc/src/mongoc/mongoc-gridfs-bucket-private.h @@ -18,6 +18,10 @@ #ifndef MONGOC_GRIDFS_BUCKET_PRIVATE_H #define MONGOC_GRIDFS_BUCKET_PRIVATE_H +#include // IWYU pragma: export + +// + #include BSON_BEGIN_DECLS diff --git a/src/libmongoc/src/mongoc/mongoc-gridfs-file-list-private.h b/src/libmongoc/src/mongoc/mongoc-gridfs-file-list-private.h index 5ecd93cc4d..4dafe7d5b7 100644 --- a/src/libmongoc/src/mongoc/mongoc-gridfs-file-list-private.h +++ b/src/libmongoc/src/mongoc/mongoc-gridfs-file-list-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_GRIDFS_FILE_LIST_PRIVATE_H #define MONGOC_GRIDFS_FILE_LIST_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-gridfs-file-page-private.h b/src/libmongoc/src/mongoc/mongoc-gridfs-file-page-private.h index c2c5e0f304..c19d799048 100644 --- a/src/libmongoc/src/mongoc/mongoc-gridfs-file-page-private.h +++ b/src/libmongoc/src/mongoc/mongoc-gridfs-file-page-private.h @@ -19,7 +19,10 @@ #ifndef MONGOC_GRIDFS_FILE_PAGE_PRIVATE_H #define MONGOC_GRIDFS_FILE_PAGE_PRIVATE_H -#include +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-gridfs-file-private.h b/src/libmongoc/src/mongoc/mongoc-gridfs-file-private.h index 4cb6ffef26..4777dabada 100644 --- a/src/libmongoc/src/mongoc/mongoc-gridfs-file-private.h +++ b/src/libmongoc/src/mongoc/mongoc-gridfs-file-private.h @@ -19,9 +19,12 @@ #ifndef MONGOC_GRIDFS_FILE_PRIVATE_H #define MONGOC_GRIDFS_FILE_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include -#include #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-gridfs-private.h b/src/libmongoc/src/mongoc/mongoc-gridfs-private.h index fa59923dac..a50e63ee45 100644 --- a/src/libmongoc/src/mongoc/mongoc-gridfs-private.h +++ b/src/libmongoc/src/mongoc/mongoc-gridfs-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_GRIDFS_PRIVATE_H #define MONGOC_GRIDFS_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-handshake-private.h b/src/libmongoc/src/mongoc/mongoc-handshake-private.h index 5e5d89814b..bcb4059cd1 100644 --- a/src/libmongoc/src/mongoc/mongoc-handshake-private.h +++ b/src/libmongoc/src/mongoc/mongoc-handshake-private.h @@ -20,6 +20,10 @@ #ifndef MONGOC_HANDSHAKE_PRIVATE_H #define MONGOC_HANDSHAKE_PRIVATE_H +#include // IWYU pragma: export + +// + #include BSON_BEGIN_DECLS diff --git a/src/libmongoc/src/mongoc/mongoc-host-list-private.h b/src/libmongoc/src/mongoc/mongoc-host-list-private.h index 4c2b43abe1..d7ba1cccab 100644 --- a/src/libmongoc/src/mongoc/mongoc-host-list-private.h +++ b/src/libmongoc/src/mongoc/mongoc-host-list-private.h @@ -19,7 +19,9 @@ #ifndef MONGOC_HOST_LIST_PRIVATE_H #define MONGOC_HOST_LIST_PRIVATE_H -#include +#include // IWYU pragma: export + +// #include diff --git a/src/libmongoc/src/mongoc/mongoc-log-private.h b/src/libmongoc/src/mongoc/mongoc-log-private.h index a8161d9e42..acf500c120 100644 --- a/src/libmongoc/src/mongoc/mongoc-log-private.h +++ b/src/libmongoc/src/mongoc/mongoc-log-private.h @@ -19,8 +19,11 @@ #ifndef MONGOC_LOG_PRIVATE_H #define MONGOC_LOG_PRIVATE_H +#include // IWYU pragma: export + +// + #include -#include /* just for testing */ void diff --git a/src/libmongoc/src/mongoc/mongoc-rand-private.h b/src/libmongoc/src/mongoc/mongoc-rand-private.h index df12327ea1..3f6ad68bb4 100644 --- a/src/libmongoc/src/mongoc/mongoc-rand-private.h +++ b/src/libmongoc/src/mongoc/mongoc-rand-private.h @@ -21,6 +21,10 @@ #define MONGOC_RAND_PRIVATE_H +#include // IWYU pragma: export + +// + #include diff --git a/src/libmongoc/src/mongoc/mongoc-read-concern-private.h b/src/libmongoc/src/mongoc/mongoc-read-concern-private.h index efaf41aafe..0c79471416 100644 --- a/src/libmongoc/src/mongoc/mongoc-read-concern-private.h +++ b/src/libmongoc/src/mongoc/mongoc-read-concern-private.h @@ -19,7 +19,9 @@ #ifndef MONGOC_READ_CONCERN_PRIVATE_H #define MONGOC_READ_CONCERN_PRIVATE_H -#include +#include // IWYU pragma: export + +// #include diff --git a/src/libmongoc/src/mongoc/mongoc-read-prefs-private.h b/src/libmongoc/src/mongoc/mongoc-read-prefs-private.h index 130680fb3c..2163e3f4bd 100644 --- a/src/libmongoc/src/mongoc/mongoc-read-prefs-private.h +++ b/src/libmongoc/src/mongoc/mongoc-read-prefs-private.h @@ -19,9 +19,12 @@ #ifndef MONGOC_READ_PREFS_PRIVATE_H #define MONGOC_READ_PREFS_PRIVATE_H -#include +#include // IWYU pragma: export + +// -#include + +#include #include diff --git a/src/libmongoc/src/mongoc/mongoc-server-api-private.h b/src/libmongoc/src/mongoc/mongoc-server-api-private.h index 9d8cae8a4d..8dfc4b03ef 100644 --- a/src/libmongoc/src/mongoc/mongoc-server-api-private.h +++ b/src/libmongoc/src/mongoc/mongoc-server-api-private.h @@ -19,7 +19,7 @@ #ifndef MONGOC_SERVER_API_PRIVATE_H #define MONGOC_SERVER_API_PRIVATE_H -#include +#include // IWYU pragma: export struct _mongoc_server_api_t { mongoc_server_api_version_t version; diff --git a/src/libmongoc/src/mongoc/mongoc-server-description-private.h b/src/libmongoc/src/mongoc/mongoc-server-description-private.h index 542dd3e8d4..23eb6fc312 100644 --- a/src/libmongoc/src/mongoc/mongoc-server-description-private.h +++ b/src/libmongoc/src/mongoc/mongoc-server-description-private.h @@ -19,11 +19,13 @@ #ifndef MONGOC_SERVER_DESCRIPTION_PRIVATE_H #define MONGOC_SERVER_DESCRIPTION_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include -#include - #define MONGOC_DEFAULT_WIRE_VERSION 0 #define MONGOC_DEFAULT_WRITE_BATCH_SIZE 1000 diff --git a/src/libmongoc/src/mongoc/mongoc-socket-private.h b/src/libmongoc/src/mongoc/mongoc-socket-private.h index d302519383..6f69503166 100644 --- a/src/libmongoc/src/mongoc/mongoc-socket-private.h +++ b/src/libmongoc/src/mongoc/mongoc-socket-private.h @@ -19,7 +19,7 @@ #ifndef MONGOC_SOCKET_PRIVATE_H #define MONGOC_SOCKET_PRIVATE_H -#include +#include // IWYU pragma: export BSON_BEGIN_DECLS diff --git a/src/libmongoc/src/mongoc/mongoc-ssl-private.h b/src/libmongoc/src/mongoc/mongoc-ssl-private.h index ccd5e1df1f..b3df647278 100644 --- a/src/libmongoc/src/mongoc/mongoc-ssl-private.h +++ b/src/libmongoc/src/mongoc/mongoc-ssl-private.h @@ -19,11 +19,13 @@ #ifndef MONGOC_SSL_PRIVATE_H #define MONGOC_SSL_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include -#include - #include diff --git a/src/libmongoc/src/mongoc/mongoc-stream-private.h b/src/libmongoc/src/mongoc/mongoc-stream-private.h index 537b68a902..66a50e7562 100644 --- a/src/libmongoc/src/mongoc/mongoc-stream-private.h +++ b/src/libmongoc/src/mongoc/mongoc-stream-private.h @@ -19,8 +19,11 @@ #ifndef MONGOC_STREAM_PRIVATE_H #define MONGOC_STREAM_PRIVATE_H +#include // IWYU pragma: export + +// + #include -#include #include diff --git a/src/libmongoc/src/mongoc/mongoc-stream-tls-private.h b/src/libmongoc/src/mongoc/mongoc-stream-tls-private.h index cdaf154ca6..c17e992ff2 100644 --- a/src/libmongoc/src/mongoc/mongoc-stream-tls-private.h +++ b/src/libmongoc/src/mongoc/mongoc-stream-tls-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_STREAM_TLS_PRIVATE_H #define MONGOC_STREAM_TLS_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-channel-private.h b/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-channel-private.h index 5d0ebd167d..0ac78cbca3 100644 --- a/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-channel-private.h +++ b/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-channel-private.h @@ -20,6 +20,11 @@ #define MONGOC_STREAM_TLS_SECURE_CHANNEL_PRIVATE_H #ifdef MONGOC_ENABLE_SSL_SECURE_CHANNEL + +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-channel.h b/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-channel.h index 84ab73cb82..af91dd3364 100644 --- a/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-channel.h +++ b/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-channel.h @@ -20,7 +20,10 @@ #define MONGOC_STREAM_TLS_SECURE_CHANNEL_H #ifdef MONGOC_ENABLE_SSL_SECURE_CHANNEL + #include +#include +#include #include diff --git a/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-transport-private.h b/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-transport-private.h index 743daabfd1..e0d82acec6 100644 --- a/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-transport-private.h +++ b/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-transport-private.h @@ -20,6 +20,11 @@ #define MONGOC_STREAM_TLS_SECURE_TRANSPORT_PRIVATE_H #ifdef MONGOC_ENABLE_SSL_SECURE_TRANSPORT + +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-transport.h b/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-transport.h index 8dd3474f2a..cb83f40a61 100644 --- a/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-transport.h +++ b/src/libmongoc/src/mongoc/mongoc-stream-tls-secure-transport.h @@ -20,7 +20,10 @@ #define MONGOC_STREAM_TLS_SECURE_TRANSPORT_H #ifdef MONGOC_ENABLE_SSL_SECURE_TRANSPORT + #include +#include +#include #include diff --git a/src/libmongoc/src/mongoc/mongoc-structured-log-private.h b/src/libmongoc/src/mongoc/mongoc-structured-log-private.h index 3477e1a8f7..217eec6002 100644 --- a/src/libmongoc/src/mongoc/mongoc-structured-log-private.h +++ b/src/libmongoc/src/mongoc/mongoc-structured-log-private.h @@ -19,14 +19,16 @@ #ifndef MONGOC_STRUCTURED_LOG_PRIVATE_H #define MONGOC_STRUCTURED_LOG_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include #include #include #include -#include - #include BSON_BEGIN_DECLS diff --git a/src/libmongoc/src/mongoc/mongoc-topology-description-private.h b/src/libmongoc/src/mongoc/mongoc-topology-description-private.h index 695f7e41ce..d80d0abae2 100644 --- a/src/libmongoc/src/mongoc/mongoc-topology-description-private.h +++ b/src/libmongoc/src/mongoc/mongoc-topology-description-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_TOPOLOGY_DESCRIPTION_PRIVATE_H #define MONGOC_TOPOLOGY_DESCRIPTION_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include #include @@ -27,7 +31,6 @@ #include #include -#include typedef enum { diff --git a/src/libmongoc/src/mongoc/mongoc-topology-description.h b/src/libmongoc/src/mongoc/mongoc-topology-description.h index 168de9b71c..6dc076b57f 100644 --- a/src/libmongoc/src/mongoc/mongoc-topology-description.h +++ b/src/libmongoc/src/mongoc/mongoc-topology-description.h @@ -21,6 +21,7 @@ #include #include +#include #include diff --git a/src/libmongoc/src/mongoc/mongoc-uri-private.h b/src/libmongoc/src/mongoc/mongoc-uri-private.h index fc60c37d85..5e9dc2ac38 100644 --- a/src/libmongoc/src/mongoc/mongoc-uri-private.h +++ b/src/libmongoc/src/mongoc/mongoc-uri-private.h @@ -19,11 +19,13 @@ #ifndef MONGOC_URI_PRIVATE_H #define MONGOC_URI_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include -#include - #include diff --git a/src/libmongoc/src/mongoc/mongoc-util-private.h b/src/libmongoc/src/mongoc/mongoc-util-private.h index 60b19031ca..9914febffd 100644 --- a/src/libmongoc/src/mongoc/mongoc-util-private.h +++ b/src/libmongoc/src/mongoc/mongoc-util-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_UTIL_PRIVATE_H #define MONGOC_UTIL_PRIVATE_H +#include // IWYU pragma: export + +// + #include #include diff --git a/src/libmongoc/src/mongoc/mongoc-write-concern-private.h b/src/libmongoc/src/mongoc/mongoc-write-concern-private.h index 2c6cf5d493..741a17d080 100644 --- a/src/libmongoc/src/mongoc/mongoc-write-concern-private.h +++ b/src/libmongoc/src/mongoc/mongoc-write-concern-private.h @@ -19,6 +19,10 @@ #ifndef MONGOC_WRITE_CONCERN_PRIVATE_H #define MONGOC_WRITE_CONCERN_PRIVATE_H +#include // IWYU pragma: export + +// + #include From 7832c5194c7094f29a343c2caf5650c46a0540ec Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Thu, 13 Nov 2025 10:27:34 -0600 Subject: [PATCH 2/5] Apply "keep" pragma to unused headers in compat.h --- src/libbson/src/bson/compat.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libbson/src/bson/compat.h b/src/libbson/src/bson/compat.h index b1750470e4..8fea74cf36 100644 --- a/src/libbson/src/bson/compat.h +++ b/src/libbson/src/bson/compat.h @@ -67,16 +67,16 @@ #include // IWYU pragma: export #include // IWYU pragma: export -#include -#include +#include // IWYU pragma: keep: to be removed. +#include // IWYU pragma: keep: to be removed. #include // IWYU pragma: export #include // IWYU pragma: export #include // IWYU pragma: export #include // IWYU pragma: export -#include -#include -#include -#include +#include // IWYU pragma: keep: to be removed. +#include // IWYU pragma: keep: to be removed. +#include // IWYU pragma: keep: to be removed. +#include // IWYU pragma: keep: to be removed. BSON_BEGIN_DECLS From 545b1416f09ea3500d14e57bed07a328f430fa76 Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Thu, 13 Nov 2025 10:29:41 -0600 Subject: [PATCH 3/5] Component header for bson-private.h is bson_t.h --- src/libbson/src/bson/bson-private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libbson/src/bson/bson-private.h b/src/libbson/src/bson/bson-private.h index 8ffb491f30..44f5694a31 100644 --- a/src/libbson/src/bson/bson-private.h +++ b/src/libbson/src/bson/bson-private.h @@ -20,7 +20,7 @@ #ifndef BSON_PRIVATE_H #define BSON_PRIVATE_H -#include // IWYU pragma: export +#include // IWYU pragma: export // From 0e747db395044ab5f3badd88f9c9d5a6059c2cfe Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Thu, 13 Nov 2025 10:30:50 -0600 Subject: [PATCH 4/5] Rename bson-private.h -> bson_t-private.h --- src/libbson/src/bson/bson-writer.c | 2 +- src/libbson/src/bson/bson.c | 2 +- src/libbson/src/bson/{bson-private.h => bson_t-private.h} | 0 src/libbson/tests/test-bson.c | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename src/libbson/src/bson/{bson-private.h => bson_t-private.h} (100%) diff --git a/src/libbson/src/bson/bson-writer.c b/src/libbson/src/bson/bson-writer.c index 07de179902..a181de0743 100644 --- a/src/libbson/src/bson/bson-writer.c +++ b/src/libbson/src/bson/bson-writer.c @@ -17,7 +17,7 @@ #include -#include +#include struct _bson_writer_t { diff --git a/src/libbson/src/bson/bson.c b/src/libbson/src/bson/bson.c index a9f5572db0..88ad186985 100644 --- a/src/libbson/src/bson/bson.c +++ b/src/libbson/src/bson/bson.c @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/libbson/src/bson/bson-private.h b/src/libbson/src/bson/bson_t-private.h similarity index 100% rename from src/libbson/src/bson/bson-private.h rename to src/libbson/src/bson/bson_t-private.h diff --git a/src/libbson/tests/test-bson.c b/src/libbson/tests/test-bson.c index 17a33d0b90..25b6c7f6bf 100644 --- a/src/libbson/tests/test-bson.c +++ b/src/libbson/tests/test-bson.c @@ -15,7 +15,7 @@ */ -#include +#include #include #include From abadc65182bdc95967826b0b8f245c54a779db5a Mon Sep 17 00:00:00 2001 From: Ezra Chung Date: Thu, 13 Nov 2025 10:31:05 -0600 Subject: [PATCH 5/5] Drive-by Python script format fixes --- .evergreen/config_generator/components/earthly.py | 2 +- .evergreen/config_generator/components/oidc.py | 6 +++--- .../evergreen_config_lib/testazurekms.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.evergreen/config_generator/components/earthly.py b/.evergreen/config_generator/components/earthly.py index 99d890fccf..84a36b7f12 100644 --- a/.evergreen/config_generator/components/earthly.py +++ b/.evergreen/config_generator/components/earthly.py @@ -274,7 +274,7 @@ def earthly_task( CONTAINER_RUN_DISTROS = [ 'amazon2', - "debian11-latest-large", + 'debian11-latest-large', 'debian12-latest-large', 'ubuntu2204-large', 'ubuntu2404-large', diff --git a/.evergreen/config_generator/components/oidc.py b/.evergreen/config_generator/components/oidc.py index 5cc7a74704..03d52949ec 100644 --- a/.evergreen/config_generator/components/oidc.py +++ b/.evergreen/config_generator/components/oidc.py @@ -1,14 +1,14 @@ from shrub.v3.evg_build_variant import BuildVariant -from shrub.v3.evg_command import EvgCommandType, ec2_assume_role, KeyValueParam, expansions_update +from shrub.v3.evg_command import EvgCommandType, KeyValueParam, ec2_assume_role, expansions_update from shrub.v3.evg_task import EvgTask, EvgTaskRef from shrub.v3.evg_task_group import EvgTaskGroup -from config_generator.components.funcs.run_tests import RunTests from config_generator.components.funcs.fetch_det import FetchDET from config_generator.components.funcs.fetch_source import FetchSource +from config_generator.components.funcs.run_tests import RunTests from config_generator.components.sasl.openssl import SaslCyrusOpenSSLCompile -from config_generator.etc.utils import bash_exec from config_generator.etc.distros import find_small_distro +from config_generator.etc.utils import bash_exec def task_groups(): diff --git a/.evergreen/legacy_config_generator/evergreen_config_lib/testazurekms.py b/.evergreen/legacy_config_generator/evergreen_config_lib/testazurekms.py index 679d2d5d5c..f2198e185d 100644 --- a/.evergreen/legacy_config_generator/evergreen_config_lib/testazurekms.py +++ b/.evergreen/legacy_config_generator/evergreen_config_lib/testazurekms.py @@ -101,7 +101,7 @@ def _create_variant(): name='testazurekms-variant', display_name='Azure KMS', # Azure Virtual Machine created is Debian 11. - run_on='debian11-small', # TODO: switch to 'debian11-latest-small' after DEVPROD-23011 fixed. + run_on='debian11-small', # TODO: switch to 'debian11-latest-small' after DEVPROD-23011 fixed. tasks=['testazurekms_task_group', 'testazurekms-fail-task'], batchtime=20160, ) # Use a batchtime of 14 days as suggested by the CSFLE test README