summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo')
-rw-r--r--src/mongo/base/parse_number_test.cpp3
-rw-r--r--src/mongo/client/clientAndShell.cpp3
-rw-r--r--src/mongo/client/dbclientcursor.cpp3
-rw-r--r--src/mongo/client/examples/mongoperf.cpp3
-rw-r--r--src/mongo/client/gridfs.cpp3
-rw-r--r--src/mongo/db/auth/action_set.cpp3
-rwxr-xr-xsrc/mongo/db/auth/generate_action_types.py2
-rw-r--r--src/mongo/db/auth/user_cache_invalidator_job.cpp3
-rw-r--r--src/mongo/db/commands/clone.cpp3
-rw-r--r--src/mongo/db/commands/clone_collection.cpp3
-rw-r--r--src/mongo/db/commands/connection_status.cpp5
-rw-r--r--src/mongo/db/commands/copydb.cpp3
-rw-r--r--src/mongo/db/commands/copydb_start_commands.cpp3
-rw-r--r--src/mongo/db/commands/server_status.cpp3
-rw-r--r--src/mongo/db/db.h3
-rw-r--r--src/mongo/db/dbcommands_admin.cpp3
-rw-r--r--src/mongo/db/dbcommands_generic.cpp3
-rw-r--r--src/mongo/db/dbmessage.cpp3
-rw-r--r--src/mongo/db/dbwebserver.cpp3
-rw-r--r--src/mongo/db/driverHelpers.cpp3
-rw-r--r--src/mongo/db/fts/fts_element_iterator_test.cpp3
-rw-r--r--src/mongo/db/fts/fts_index_format.cpp3
-rw-r--r--src/mongo/db/fts/fts_index_format_test.cpp3
-rw-r--r--src/mongo/db/fts/fts_language_test.cpp3
-rw-r--r--src/mongo/db/fts/fts_matcher.cpp3
-rw-r--r--src/mongo/db/fts/fts_matcher_test.cpp3
-rw-r--r--src/mongo/db/fts/fts_query.cpp3
-rw-r--r--src/mongo/db/fts/fts_spec.cpp3
-rw-r--r--src/mongo/db/fts/fts_spec_test.cpp3
-rw-r--r--src/mongo/db/geo/hash.h3
-rw-r--r--src/mongo/db/hasher.h3
-rw-r--r--src/mongo/db/initialize_server_global_state.cpp3
-rw-r--r--src/mongo/db/introspect.cpp3
-rw-r--r--src/mongo/db/jsobj.h3
-rw-r--r--src/mongo/db/matcher/expression_geo.cpp3
-rw-r--r--src/mongo/db/matcher/expression_text.cpp3
-rw-r--r--src/mongo/db/matcher/expression_where_noop.cpp3
-rw-r--r--src/mongo/db/matcher/matchable.cpp3
-rw-r--r--src/mongo/db/matcher/matcher.cpp3
-rw-r--r--src/mongo/db/matcher/path.cpp3
-rw-r--r--src/mongo/db/pipeline/accumulator.h3
-rw-r--r--src/mongo/db/pipeline/accumulator_add_to_set.cpp3
-rw-r--r--src/mongo/db/pipeline/accumulator_avg.cpp3
-rw-r--r--src/mongo/db/pipeline/accumulator_first.cpp3
-rw-r--r--src/mongo/db/pipeline/accumulator_last.cpp3
-rw-r--r--src/mongo/db/pipeline/accumulator_min_max.cpp3
-rw-r--r--src/mongo/db/pipeline/accumulator_push.cpp3
-rw-r--r--src/mongo/db/pipeline/accumulator_sum.cpp3
-rw-r--r--src/mongo/db/pipeline/dependencies.cpp3
-rw-r--r--src/mongo/db/pipeline/document.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source.h3
-rw-r--r--src/mongo/db/pipeline/document_source_bson_array.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_command_shards.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_geo_near.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_group.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_limit.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_match.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_merge_cursors.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_out.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_project.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_redact.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_skip.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_sort.cpp3
-rw-r--r--src/mongo/db/pipeline/document_source_unwind.cpp3
-rw-r--r--src/mongo/db/pipeline/expression.cpp3
-rw-r--r--src/mongo/db/pipeline/expression.h3
-rw-r--r--src/mongo/db/pipeline/field_path.cpp3
-rw-r--r--src/mongo/db/pipeline/field_path.h3
-rw-r--r--src/mongo/db/pipeline/pipeline.cpp3
-rw-r--r--src/mongo/db/pipeline/value.cpp3
-rw-r--r--src/mongo/db/projection.h3
-rw-r--r--src/mongo/db/repl/initial_sync.cpp3
-rw-r--r--src/mongo/db/repl/replset_commands.cpp3
-rw-r--r--src/mongo/db/restapi.cpp3
-rw-r--r--src/mongo/db/server_parameters.cpp3
-rw-r--r--src/mongo/db/stats/counters.cpp3
-rw-r--r--src/mongo/db/stats/counters.h3
-rw-r--r--src/mongo/db/stats/snapshots.cpp3
-rw-r--r--src/mongo/db/stats/snapshots.h3
-rw-r--r--src/mongo/db/stats/top.cpp3
-rw-r--r--src/mongo/db/storage/mmap_v1/catalog/namespace.cpp3
-rw-r--r--src/mongo/db/storage/mmap_v1/dur_commitjob.cpp3
-rw-r--r--src/mongo/db/storage/mmap_v1/dur_commitjob.h3
-rw-r--r--src/mongo/db/storage/mmap_v1/dur_preplogbuffer.cpp3
-rw-r--r--src/mongo/dbtests/accumulatortests.cpp3
-rw-r--r--src/mongo/dbtests/chunktests.cpp3
-rw-r--r--src/mongo/dbtests/directclienttests.cpp3
-rw-r--r--src/mongo/dbtests/documentsourcetests.cpp3
-rw-r--r--src/mongo/dbtests/documenttests.cpp3
-rw-r--r--src/mongo/dbtests/expressiontests.cpp3
-rw-r--r--src/mongo/dbtests/gridfstest.cpp3
-rw-r--r--src/mongo/dbtests/jsobjtests.cpp3
-rw-r--r--src/mongo/dbtests/jsontests.cpp3
-rw-r--r--src/mongo/dbtests/pipelinetests.cpp3
-rw-r--r--src/mongo/dbtests/socktests.cpp3
-rw-r--r--src/mongo/dbtests/updatetests.cpp3
-rw-r--r--src/mongo/pch.cpp3
-rw-r--r--src/mongo/pch.h6
-rw-r--r--src/mongo/s/balance.h3
-rw-r--r--src/mongo/s/chunk_version_test.cpp3
-rw-r--r--src/mongo/s/client_info.h3
-rw-r--r--src/mongo/s/cursors.h3
-rw-r--r--src/mongo/s/default_version.cpp3
-rw-r--r--src/mongo/s/distlock.h3
-rw-r--r--src/mongo/s/request.h3
-rw-r--r--src/mongo/s/s_only.cpp3
-rw-r--r--src/mongo/s/shard.h3
-rw-r--r--src/mongo/s/shardconnection.cpp3
-rw-r--r--src/mongo/s/strategy.h3
-rw-r--r--src/mongo/s/type_chunk_test.cpp3
-rw-r--r--src/mongo/s/type_collection_test.cpp3
-rw-r--r--src/mongo/s/type_database_test.cpp3
-rw-r--r--src/mongo/s/type_shard_test.cpp3
-rw-r--r--src/mongo/scripting/v8_deadline_monitor_test.cpp3
-rw-r--r--src/mongo/shell/shell_utils_extended.cpp3
-rw-r--r--src/mongo/tools/bridge.cpp3
-rw-r--r--src/mongo/tools/sniffer.cpp3
-rw-r--r--src/mongo/unittest/unittest.cpp3
-rw-r--r--src/mongo/util/alignedbuilder.cpp3
-rw-r--r--src/mongo/util/base64.cpp3
-rw-r--r--src/mongo/util/bson_util.h3
-rw-r--r--src/mongo/util/checksum.h3
-rw-r--r--src/mongo/util/concurrency/spin_lock.cpp5
-rw-r--r--src/mongo/util/concurrency/task.cpp3
-rw-r--r--src/mongo/util/concurrency/thread_pool.cpp3
-rw-r--r--src/mongo/util/file_allocator.h3
-rw-r--r--src/mongo/util/intrusive_counter.cpp3
-rw-r--r--src/mongo/util/logfile.cpp3
-rw-r--r--src/mongo/util/md5main.cpp3
-rw-r--r--src/mongo/util/mmap.cpp3
-rw-r--r--src/mongo/util/mmap_posix.cpp3
-rw-r--r--src/mongo/util/mmap_win.cpp3
-rw-r--r--src/mongo/util/net/httpclient.cpp3
-rw-r--r--src/mongo/util/net/httpclient.h3
-rw-r--r--src/mongo/util/net/message.cpp3
-rw-r--r--src/mongo/util/net/message_server.h3
-rw-r--r--src/mongo/util/net/message_server_port.cpp3
-rw-r--r--src/mongo/util/net/miniwebserver.h3
-rw-r--r--src/mongo/util/password.cpp3
-rw-r--r--src/mongo/util/processinfo.cpp3
-rw-r--r--src/mongo/util/processinfo_darwin.cpp3
-rw-r--r--src/mongo/util/processinfo_none.cpp3
-rw-r--r--src/mongo/util/processinfo_win32.cpp3
-rw-r--r--src/mongo/util/progress_meter.cpp5
-rw-r--r--src/mongo/util/safe_num.cpp5
-rw-r--r--src/mongo/util/safe_num_test.cpp5
-rw-r--r--src/mongo/util/stringutils.cpp3
-rw-r--r--src/mongo/util/text_startuptest.cpp3
149 files changed, 451 insertions, 8 deletions
diff --git a/src/mongo/base/parse_number_test.cpp b/src/mongo/base/parse_number_test.cpp
index b229be1d03b..d8d8ac66c9b 100644
--- a/src/mongo/base/parse_number_test.cpp
+++ b/src/mongo/base/parse_number_test.cpp
@@ -26,7 +26,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <limits>
diff --git a/src/mongo/client/clientAndShell.cpp b/src/mongo/client/clientAndShell.cpp
index bcc88c9631f..d599ba750cb 100644
--- a/src/mongo/client/clientAndShell.cpp
+++ b/src/mongo/client/clientAndShell.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/client/clientOnly-private.h"
#include "mongo/db/client_basic.h"
diff --git a/src/mongo/client/dbclientcursor.cpp b/src/mongo/client/dbclientcursor.cpp
index 220bde3878c..344ced2f6f4 100644
--- a/src/mongo/client/dbclientcursor.cpp
+++ b/src/mongo/client/dbclientcursor.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kNetwork
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/client/dbclientcursor.h"
diff --git a/src/mongo/client/examples/mongoperf.cpp b/src/mongo/client/examples/mongoperf.cpp
index f95c01802be..d6d2d612eaf 100644
--- a/src/mongo/client/examples/mongoperf.cpp
+++ b/src/mongo/client/examples/mongoperf.cpp
@@ -37,7 +37,10 @@
// so we define the following macro
#define MONGO_EXPOSE_MACROS 1
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <iostream>
diff --git a/src/mongo/client/gridfs.cpp b/src/mongo/client/gridfs.cpp
index 600e2161010..ad7bf9dfe0a 100644
--- a/src/mongo/client/gridfs.cpp
+++ b/src/mongo/client/gridfs.cpp
@@ -27,7 +27,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/client/gridfs.h"
diff --git a/src/mongo/db/auth/action_set.cpp b/src/mongo/db/auth/action_set.cpp
index cb65e802e32..e05727c488d 100644
--- a/src/mongo/db/auth/action_set.cpp
+++ b/src/mongo/db/auth/action_set.cpp
@@ -27,7 +27,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kAccessControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/auth/action_set.h"
diff --git a/src/mongo/db/auth/generate_action_types.py b/src/mongo/db/auth/generate_action_types.py
index 4a45c79f9db..ee87fcb5204 100755
--- a/src/mongo/db/auth/generate_action_types.py
+++ b/src/mongo/db/auth/generate_action_types.py
@@ -144,7 +144,7 @@ sourceFileTemplate = """// AUTO-GENERATED FILE DO NOT EDIT
* then also delete it in the license file.
*/
-#include "mongo/pch.h"
+#include "mongo/platform/basic.h"
#include "mongo/db/auth/action_type.h"
diff --git a/src/mongo/db/auth/user_cache_invalidator_job.cpp b/src/mongo/db/auth/user_cache_invalidator_job.cpp
index 37bf42f2c22..29c312ca54b 100644
--- a/src/mongo/db/auth/user_cache_invalidator_job.cpp
+++ b/src/mongo/db/auth/user_cache_invalidator_job.cpp
@@ -27,7 +27,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kAccessControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/auth/user_cache_invalidator_job.h"
diff --git a/src/mongo/db/commands/clone.cpp b/src/mongo/db/commands/clone.cpp
index ddf2775c55f..dc51dc68d96 100644
--- a/src/mongo/db/commands/clone.cpp
+++ b/src/mongo/db/commands/clone.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/base/init.h"
#include "mongo/base/status.h"
diff --git a/src/mongo/db/commands/clone_collection.cpp b/src/mongo/db/commands/clone_collection.cpp
index 3ef0c14370e..411d481dad6 100644
--- a/src/mongo/db/commands/clone_collection.cpp
+++ b/src/mongo/db/commands/clone_collection.cpp
@@ -28,7 +28,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kCommand
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/base/init.h"
#include "mongo/base/status.h"
diff --git a/src/mongo/db/commands/connection_status.cpp b/src/mongo/db/commands/connection_status.cpp
index e780b7f65ce..abd892f2e28 100644
--- a/src/mongo/db/commands/connection_status.cpp
+++ b/src/mongo/db/commands/connection_status.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
-#include <mongo/pch.h>
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
+#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/bson/util/bson_extract.h"
#include "mongo/db/auth/authorization_manager.h"
diff --git a/src/mongo/db/commands/copydb.cpp b/src/mongo/db/commands/copydb.cpp
index e5d6df6d3d8..41e4f13a13b 100644
--- a/src/mongo/db/commands/copydb.cpp
+++ b/src/mongo/db/commands/copydb.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/base/init.h"
#include "mongo/base/status.h"
diff --git a/src/mongo/db/commands/copydb_start_commands.cpp b/src/mongo/db/commands/copydb_start_commands.cpp
index 6fbca82e6d2..47f34c59c10 100644
--- a/src/mongo/db/commands/copydb_start_commands.cpp
+++ b/src/mongo/db/commands/copydb_start_commands.cpp
@@ -28,7 +28,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kAccessControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/base/init.h"
#include "mongo/base/status.h"
diff --git a/src/mongo/db/commands/server_status.cpp b/src/mongo/db/commands/server_status.cpp
index 2704ace0b9b..a2541ca3324 100644
--- a/src/mongo/db/commands/server_status.cpp
+++ b/src/mongo/db/commands/server_status.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kCommand
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/auth/action_set.h"
#include "mongo/db/auth/action_type.h"
diff --git a/src/mongo/db/db.h b/src/mongo/db/db.h
index 0786fae8cad..ec8a5162a80 100644
--- a/src/mongo/db/db.h
+++ b/src/mongo/db/db.h
@@ -28,7 +28,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/client.h"
#include "mongo/db/curop.h"
diff --git a/src/mongo/db/dbcommands_admin.cpp b/src/mongo/db/dbcommands_admin.cpp
index 7e3aa16cff7..30e5d3087b8 100644
--- a/src/mongo/db/dbcommands_admin.cpp
+++ b/src/mongo/db/dbcommands_admin.cpp
@@ -35,7 +35,10 @@
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <boost/filesystem/convenience.hpp>
#include <boost/filesystem/operations.hpp>
diff --git a/src/mongo/db/dbcommands_generic.cpp b/src/mongo/db/dbcommands_generic.cpp
index e96665cb7dc..4f2251dd061 100644
--- a/src/mongo/db/dbcommands_generic.cpp
+++ b/src/mongo/db/dbcommands_generic.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kCommand
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <time.h>
diff --git a/src/mongo/db/dbmessage.cpp b/src/mongo/db/dbmessage.cpp
index 8cef43c7eb8..54c4edab7af 100644
--- a/src/mongo/db/dbmessage.cpp
+++ b/src/mongo/db/dbmessage.cpp
@@ -27,7 +27,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/dbmessage.h"
diff --git a/src/mongo/db/dbwebserver.cpp b/src/mongo/db/dbwebserver.cpp
index 03099c674e7..d2ce63e9c40 100644
--- a/src/mongo/db/dbwebserver.cpp
+++ b/src/mongo/db/dbwebserver.cpp
@@ -31,7 +31,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/dbwebserver.h"
diff --git a/src/mongo/db/driverHelpers.cpp b/src/mongo/db/driverHelpers.cpp
index 8ff1a38b3bd..24f133686dd 100644
--- a/src/mongo/db/driverHelpers.cpp
+++ b/src/mongo/db/driverHelpers.cpp
@@ -34,7 +34,10 @@
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <string>
#include <vector>
diff --git a/src/mongo/db/fts/fts_element_iterator_test.cpp b/src/mongo/db/fts/fts_element_iterator_test.cpp
index 1d0eb88841a..5666084c2e1 100644
--- a/src/mongo/db/fts/fts_element_iterator_test.cpp
+++ b/src/mongo/db/fts/fts_element_iterator_test.cpp
@@ -27,7 +27,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/fts/fts_element_iterator.h"
#include "mongo/db/json.h"
diff --git a/src/mongo/db/fts/fts_index_format.cpp b/src/mongo/db/fts/fts_index_format.cpp
index cff983f01ad..09519005292 100644
--- a/src/mongo/db/fts/fts_index_format.cpp
+++ b/src/mongo/db/fts/fts_index_format.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <third_party/murmurhash3/MurmurHash3.h>
diff --git a/src/mongo/db/fts/fts_index_format_test.cpp b/src/mongo/db/fts/fts_index_format_test.cpp
index 760eff165fe..b2cba83fa9b 100644
--- a/src/mongo/db/fts/fts_index_format_test.cpp
+++ b/src/mongo/db/fts/fts_index_format_test.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <set>
diff --git a/src/mongo/db/fts/fts_language_test.cpp b/src/mongo/db/fts/fts_language_test.cpp
index 141bbce27d9..8586bb0ae6c 100644
--- a/src/mongo/db/fts/fts_language_test.cpp
+++ b/src/mongo/db/fts/fts_language_test.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/fts/fts_language.h"
#include "mongo/db/fts/fts_spec.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/fts/fts_matcher.cpp b/src/mongo/db/fts/fts_matcher.cpp
index 337772b4a6c..1497bc41af4 100644
--- a/src/mongo/db/fts/fts_matcher.cpp
+++ b/src/mongo/db/fts/fts_matcher.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/fts/fts_matcher.h"
#include "mongo/db/fts/fts_element_iterator.h"
diff --git a/src/mongo/db/fts/fts_matcher_test.cpp b/src/mongo/db/fts/fts_matcher_test.cpp
index d4eb9eccdf7..5ce321888da 100644
--- a/src/mongo/db/fts/fts_matcher_test.cpp
+++ b/src/mongo/db/fts/fts_matcher_test.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/fts/fts_matcher.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/fts/fts_query.cpp b/src/mongo/db/fts/fts_query.cpp
index 0269864e126..c1378a0dd72 100644
--- a/src/mongo/db/fts/fts_query.cpp
+++ b/src/mongo/db/fts/fts_query.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/fts/fts_query.h"
#include "mongo/db/fts/fts_spec.h"
diff --git a/src/mongo/db/fts/fts_spec.cpp b/src/mongo/db/fts/fts_spec.cpp
index 8ad22119a90..e02674d6bd0 100644
--- a/src/mongo/db/fts/fts_spec.cpp
+++ b/src/mongo/db/fts/fts_spec.cpp
@@ -27,7 +27,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/fts/fts_spec.h"
diff --git a/src/mongo/db/fts/fts_spec_test.cpp b/src/mongo/db/fts/fts_spec_test.cpp
index dce90fbe2d0..d69c39951b3 100644
--- a/src/mongo/db/fts/fts_spec_test.cpp
+++ b/src/mongo/db/fts/fts_spec_test.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/fts/fts_spec.h"
#include "mongo/db/json.h"
diff --git a/src/mongo/db/geo/hash.h b/src/mongo/db/geo/hash.h
index 51d299b0248..20a64f89b14 100644
--- a/src/mongo/db/geo/hash.h
+++ b/src/mongo/db/geo/hash.h
@@ -28,7 +28,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include <iostream>
diff --git a/src/mongo/db/hasher.h b/src/mongo/db/hasher.h
index 2410306038d..a19d0de41d1 100644
--- a/src/mongo/db/hasher.h
+++ b/src/mongo/db/hasher.h
@@ -34,7 +34,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/bson/bsonelement.h"
#include "mongo/util/md5.hpp"
diff --git a/src/mongo/db/initialize_server_global_state.cpp b/src/mongo/db/initialize_server_global_state.cpp
index 9d7e94fd0b0..2dd113c62bc 100644
--- a/src/mongo/db/initialize_server_global_state.cpp
+++ b/src/mongo/db/initialize_server_global_state.cpp
@@ -28,7 +28,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/initialize_server_global_state.h"
diff --git a/src/mongo/db/introspect.cpp b/src/mongo/db/introspect.cpp
index f7b430ffd44..72017ea199c 100644
--- a/src/mongo/db/introspect.cpp
+++ b/src/mongo/db/introspect.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/bson/util/builder.h"
#include "mongo/db/auth/authorization_manager.h"
diff --git a/src/mongo/db/jsobj.h b/src/mongo/db/jsobj.h
index def5c4da503..23f3c873f4d 100644
--- a/src/mongo/db/jsobj.h
+++ b/src/mongo/db/jsobj.h
@@ -40,7 +40,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/bson/util/builder.h"
#include "mongo/bson/optime.h"
diff --git a/src/mongo/db/matcher/expression_geo.cpp b/src/mongo/db/matcher/expression_geo.cpp
index f419e3c0712..a1b7229c4d4 100644
--- a/src/mongo/db/matcher/expression_geo.cpp
+++ b/src/mongo/db/matcher/expression_geo.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/matcher/expression_geo.h"
#include "mongo/db/geo/geoparser.h"
#include "mongo/util/mongoutils/str.h"
diff --git a/src/mongo/db/matcher/expression_text.cpp b/src/mongo/db/matcher/expression_text.cpp
index 899ef0362ad..c77217d2d10 100644
--- a/src/mongo/db/matcher/expression_text.cpp
+++ b/src/mongo/db/matcher/expression_text.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/matcher/expression_text.h"
namespace mongo {
diff --git a/src/mongo/db/matcher/expression_where_noop.cpp b/src/mongo/db/matcher/expression_where_noop.cpp
index f88a65d93f6..5347493f12c 100644
--- a/src/mongo/db/matcher/expression_where_noop.cpp
+++ b/src/mongo/db/matcher/expression_where_noop.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/base/init.h"
#include "mongo/db/matcher/expression.h"
#include "mongo/db/matcher/expression_parser.h"
diff --git a/src/mongo/db/matcher/matchable.cpp b/src/mongo/db/matcher/matchable.cpp
index f2e9df701b4..a8ef808c60e 100644
--- a/src/mongo/db/matcher/matchable.cpp
+++ b/src/mongo/db/matcher/matchable.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/db/matcher/matchable.h"
diff --git a/src/mongo/db/matcher/matcher.cpp b/src/mongo/db/matcher/matcher.cpp
index 78528544250..57998f79caf 100644
--- a/src/mongo/db/matcher/matcher.cpp
+++ b/src/mongo/db/matcher/matcher.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/base/init.h"
#include "mongo/db/jsobj.h"
diff --git a/src/mongo/db/matcher/path.cpp b/src/mongo/db/matcher/path.cpp
index a84b98edfbd..73e2b84b3e8 100644
--- a/src/mongo/db/matcher/path.cpp
+++ b/src/mongo/db/matcher/path.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/db/matcher/path_internal.h"
#include "mongo/db/matcher/path.h"
diff --git a/src/mongo/db/pipeline/accumulator.h b/src/mongo/db/pipeline/accumulator.h
index d0b48b498b6..d90207789f9 100644
--- a/src/mongo/db/pipeline/accumulator.h
+++ b/src/mongo/db/pipeline/accumulator.h
@@ -28,7 +28,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <boost/unordered_set.hpp>
diff --git a/src/mongo/db/pipeline/accumulator_add_to_set.cpp b/src/mongo/db/pipeline/accumulator_add_to_set.cpp
index 086253cf116..245988069a9 100644
--- a/src/mongo/db/pipeline/accumulator_add_to_set.cpp
+++ b/src/mongo/db/pipeline/accumulator_add_to_set.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/accumulator.h"
#include "mongo/db/pipeline/expression_context.h"
diff --git a/src/mongo/db/pipeline/accumulator_avg.cpp b/src/mongo/db/pipeline/accumulator_avg.cpp
index 8dbfc816de1..773177efd05 100644
--- a/src/mongo/db/pipeline/accumulator_avg.cpp
+++ b/src/mongo/db/pipeline/accumulator_avg.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/accumulator.h"
#include "mongo/db/pipeline/document.h"
diff --git a/src/mongo/db/pipeline/accumulator_first.cpp b/src/mongo/db/pipeline/accumulator_first.cpp
index 984f80993d9..18d1445becc 100644
--- a/src/mongo/db/pipeline/accumulator_first.cpp
+++ b/src/mongo/db/pipeline/accumulator_first.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/accumulator.h"
#include "mongo/db/pipeline/value.h"
diff --git a/src/mongo/db/pipeline/accumulator_last.cpp b/src/mongo/db/pipeline/accumulator_last.cpp
index 1c8cf7cfd62..d6944600789 100644
--- a/src/mongo/db/pipeline/accumulator_last.cpp
+++ b/src/mongo/db/pipeline/accumulator_last.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/accumulator.h"
#include "mongo/db/pipeline/value.h"
diff --git a/src/mongo/db/pipeline/accumulator_min_max.cpp b/src/mongo/db/pipeline/accumulator_min_max.cpp
index 57eddfedbde..e70a00157c4 100644
--- a/src/mongo/db/pipeline/accumulator_min_max.cpp
+++ b/src/mongo/db/pipeline/accumulator_min_max.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/accumulator.h"
#include "mongo/db/pipeline/value.h"
diff --git a/src/mongo/db/pipeline/accumulator_push.cpp b/src/mongo/db/pipeline/accumulator_push.cpp
index 8250c462af8..230ff0c69a2 100644
--- a/src/mongo/db/pipeline/accumulator_push.cpp
+++ b/src/mongo/db/pipeline/accumulator_push.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/accumulator.h"
#include "mongo/db/pipeline/expression_context.h"
diff --git a/src/mongo/db/pipeline/accumulator_sum.cpp b/src/mongo/db/pipeline/accumulator_sum.cpp
index 76bddc956fe..98b48292d18 100644
--- a/src/mongo/db/pipeline/accumulator_sum.cpp
+++ b/src/mongo/db/pipeline/accumulator_sum.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/accumulator.h"
#include "mongo/db/pipeline/value.h"
diff --git a/src/mongo/db/pipeline/dependencies.cpp b/src/mongo/db/pipeline/dependencies.cpp
index bed2332549d..1b48ed2de12 100644
--- a/src/mongo/db/pipeline/dependencies.cpp
+++ b/src/mongo/db/pipeline/dependencies.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/db/pipeline/dependencies.h"
diff --git a/src/mongo/db/pipeline/document.cpp b/src/mongo/db/pipeline/document.cpp
index 4f260591fe1..f12a1a6b864 100644
--- a/src/mongo/db/pipeline/document.cpp
+++ b/src/mongo/db/pipeline/document.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document.h"
diff --git a/src/mongo/db/pipeline/document_source.cpp b/src/mongo/db/pipeline/document_source.cpp
index d4c21fca2fd..377bfe26002 100644
--- a/src/mongo/db/pipeline/document_source.cpp
+++ b/src/mongo/db/pipeline/document_source.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/expression_context.h"
diff --git a/src/mongo/db/pipeline/document_source.h b/src/mongo/db/pipeline/document_source.h
index 4b6a8bf0291..7f5e51dcb47 100644
--- a/src/mongo/db/pipeline/document_source.h
+++ b/src/mongo/db/pipeline/document_source.h
@@ -28,7 +28,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <boost/optional.hpp>
#include <boost/unordered_map.hpp>
diff --git a/src/mongo/db/pipeline/document_source_bson_array.cpp b/src/mongo/db/pipeline/document_source_bson_array.cpp
index 47c14f22570..14e1068c799 100644
--- a/src/mongo/db/pipeline/document_source_bson_array.cpp
+++ b/src/mongo/db/pipeline/document_source_bson_array.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source.h"
diff --git a/src/mongo/db/pipeline/document_source_command_shards.cpp b/src/mongo/db/pipeline/document_source_command_shards.cpp
index b1ac58bdf54..ba5e480251d 100644
--- a/src/mongo/db/pipeline/document_source_command_shards.cpp
+++ b/src/mongo/db/pipeline/document_source_command_shards.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document_source.h"
#include "mongo/s/shard.h"
diff --git a/src/mongo/db/pipeline/document_source_geo_near.cpp b/src/mongo/db/pipeline/document_source_geo_near.cpp
index 9b8fca031ea..41ff8271834 100644
--- a/src/mongo/db/pipeline/document_source_geo_near.cpp
+++ b/src/mongo/db/pipeline/document_source_geo_near.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/document.h"
diff --git a/src/mongo/db/pipeline/document_source_group.cpp b/src/mongo/db/pipeline/document_source_group.cpp
index 04c09bad97d..b492a0d9687 100644
--- a/src/mongo/db/pipeline/document_source_group.cpp
+++ b/src/mongo/db/pipeline/document_source_group.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
diff --git a/src/mongo/db/pipeline/document_source_limit.cpp b/src/mongo/db/pipeline/document_source_limit.cpp
index 67b224afbd7..bd1bb86f324 100644
--- a/src/mongo/db/pipeline/document_source_limit.cpp
+++ b/src/mongo/db/pipeline/document_source_limit.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/db/pipeline/document.h"
diff --git a/src/mongo/db/pipeline/document_source_match.cpp b/src/mongo/db/pipeline/document_source_match.cpp
index 5aad4f59cbd..2ac916a1c1b 100644
--- a/src/mongo/db/pipeline/document_source_match.cpp
+++ b/src/mongo/db/pipeline/document_source_match.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <cctype>
diff --git a/src/mongo/db/pipeline/document_source_merge_cursors.cpp b/src/mongo/db/pipeline/document_source_merge_cursors.cpp
index b0c56d2878f..264ddcc60ef 100644
--- a/src/mongo/db/pipeline/document_source_merge_cursors.cpp
+++ b/src/mongo/db/pipeline/document_source_merge_cursors.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document_source.h"
diff --git a/src/mongo/db/pipeline/document_source_out.cpp b/src/mongo/db/pipeline/document_source_out.cpp
index d342424a3ac..8077e7a9812 100644
--- a/src/mongo/db/pipeline/document_source_out.cpp
+++ b/src/mongo/db/pipeline/document_source_out.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document_source.h"
diff --git a/src/mongo/db/pipeline/document_source_project.cpp b/src/mongo/db/pipeline/document_source_project.cpp
index 287be0657ac..3516d48ae8b 100644
--- a/src/mongo/db/pipeline/document_source_project.cpp
+++ b/src/mongo/db/pipeline/document_source_project.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/db/pipeline/document.h"
diff --git a/src/mongo/db/pipeline/document_source_redact.cpp b/src/mongo/db/pipeline/document_source_redact.cpp
index e7a1548b1e4..029d7fa7655 100644
--- a/src/mongo/db/pipeline/document_source_redact.cpp
+++ b/src/mongo/db/pipeline/document_source_redact.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document_source.h"
diff --git a/src/mongo/db/pipeline/document_source_skip.cpp b/src/mongo/db/pipeline/document_source_skip.cpp
index 86f39735e77..75147d639f4 100644
--- a/src/mongo/db/pipeline/document_source_skip.cpp
+++ b/src/mongo/db/pipeline/document_source_skip.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/db/pipeline/document.h"
diff --git a/src/mongo/db/pipeline/document_source_sort.cpp b/src/mongo/db/pipeline/document_source_sort.cpp
index 67169b85b32..da8847edd96 100644
--- a/src/mongo/db/pipeline/document_source_sort.cpp
+++ b/src/mongo/db/pipeline/document_source_sort.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document_source.h"
diff --git a/src/mongo/db/pipeline/document_source_unwind.cpp b/src/mongo/db/pipeline/document_source_unwind.cpp
index f7c28fa8ec4..3116db91968 100644
--- a/src/mongo/db/pipeline/document_source_unwind.cpp
+++ b/src/mongo/db/pipeline/document_source_unwind.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/db/pipeline/document.h"
diff --git a/src/mongo/db/pipeline/expression.cpp b/src/mongo/db/pipeline/expression.cpp
index 4e67336a4d0..ffbd693c9f0 100644
--- a/src/mongo/db/pipeline/expression.cpp
+++ b/src/mongo/db/pipeline/expression.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/expression.h"
diff --git a/src/mongo/db/pipeline/expression.h b/src/mongo/db/pipeline/expression.h
index 6e759a59f20..12c9c5d0dec 100644
--- a/src/mongo/db/pipeline/expression.h
+++ b/src/mongo/db/pipeline/expression.h
@@ -28,7 +28,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/dependencies.h"
#include "mongo/db/pipeline/document.h"
diff --git a/src/mongo/db/pipeline/field_path.cpp b/src/mongo/db/pipeline/field_path.cpp
index f91a2ff00cb..bbb6dd9b5f8 100644
--- a/src/mongo/db/pipeline/field_path.cpp
+++ b/src/mongo/db/pipeline/field_path.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/field_path.h"
diff --git a/src/mongo/db/pipeline/field_path.h b/src/mongo/db/pipeline/field_path.h
index a15d53d3e41..4bbf3965991 100644
--- a/src/mongo/db/pipeline/field_path.h
+++ b/src/mongo/db/pipeline/field_path.h
@@ -28,7 +28,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/assert_util.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/pipeline.cpp b/src/mongo/db/pipeline/pipeline.cpp
index db4ba8af517..252fd409bfb 100644
--- a/src/mongo/db/pipeline/pipeline.cpp
+++ b/src/mongo/db/pipeline/pipeline.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
// This file defines functions from both of these headers
#include "mongo/db/pipeline/pipeline.h"
diff --git a/src/mongo/db/pipeline/value.cpp b/src/mongo/db/pipeline/value.cpp
index 06b98118306..0f4bb37eaa8 100644
--- a/src/mongo/db/pipeline/value.cpp
+++ b/src/mongo/db/pipeline/value.cpp
@@ -26,7 +26,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/value.h"
diff --git a/src/mongo/db/projection.h b/src/mongo/db/projection.h
index b36ff7b88aa..593af8bed5d 100644
--- a/src/mongo/db/projection.h
+++ b/src/mongo/db/projection.h
@@ -29,7 +29,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/string_map.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/matcher/matcher.h"
diff --git a/src/mongo/db/repl/initial_sync.cpp b/src/mongo/db/repl/initial_sync.cpp
index ee2433f2a6b..3f482e19183 100644
--- a/src/mongo/db/repl/initial_sync.cpp
+++ b/src/mongo/db/repl/initial_sync.cpp
@@ -28,7 +28,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kReplication
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/repl/initial_sync.h"
diff --git a/src/mongo/db/repl/replset_commands.cpp b/src/mongo/db/repl/replset_commands.cpp
index d64f8deb2bc..6e0bdfce9b2 100644
--- a/src/mongo/db/repl/replset_commands.cpp
+++ b/src/mongo/db/repl/replset_commands.cpp
@@ -28,7 +28,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kCommand
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/base/init.h"
#include "mongo/base/status.h"
diff --git a/src/mongo/db/restapi.cpp b/src/mongo/db/restapi.cpp
index 65e014c0437..d8fcd5c193f 100644
--- a/src/mongo/db/restapi.cpp
+++ b/src/mongo/db/restapi.cpp
@@ -31,7 +31,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kNetwork
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/restapi.h"
diff --git a/src/mongo/db/server_parameters.cpp b/src/mongo/db/server_parameters.cpp
index bbb7b227935..fefdee6f4a1 100644
--- a/src/mongo/db/server_parameters.cpp
+++ b/src/mongo/db/server_parameters.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/base/parse_number.h"
#include "mongo/client/replica_set_monitor.h"
diff --git a/src/mongo/db/stats/counters.cpp b/src/mongo/db/stats/counters.cpp
index 63f55db4267..87a3d462e9d 100644
--- a/src/mongo/db/stats/counters.cpp
+++ b/src/mongo/db/stats/counters.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/stats/counters.h"
diff --git a/src/mongo/db/stats/counters.h b/src/mongo/db/stats/counters.h
index d9c54242cb4..97e85020a2c 100644
--- a/src/mongo/db/stats/counters.h
+++ b/src/mongo/db/stats/counters.h
@@ -29,7 +29,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/platform/atomic_word.h"
#include "mongo/util/net/message.h"
diff --git a/src/mongo/db/stats/snapshots.cpp b/src/mongo/db/stats/snapshots.cpp
index 7809e63ab2c..8cfac6860fa 100644
--- a/src/mongo/db/stats/snapshots.cpp
+++ b/src/mongo/db/stats/snapshots.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/stats/snapshots.h"
diff --git a/src/mongo/db/stats/snapshots.h b/src/mongo/db/stats/snapshots.h
index 006bc523bff..b00fbb3aee6 100644
--- a/src/mongo/db/stats/snapshots.h
+++ b/src/mongo/db/stats/snapshots.h
@@ -29,7 +29,10 @@
*/
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "top.h"
#include "mongo/util/background.h"
diff --git a/src/mongo/db/stats/top.cpp b/src/mongo/db/stats/top.cpp
index 4b6d3b4e99d..7c1be88a76b 100644
--- a/src/mongo/db/stats/top.cpp
+++ b/src/mongo/db/stats/top.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/stats/top.h"
diff --git a/src/mongo/db/storage/mmap_v1/catalog/namespace.cpp b/src/mongo/db/storage/mmap_v1/catalog/namespace.cpp
index 822ed26dedb..92044109854 100644
--- a/src/mongo/db/storage/mmap_v1/catalog/namespace.cpp
+++ b/src/mongo/db/storage/mmap_v1/catalog/namespace.cpp
@@ -28,7 +28,10 @@
* it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/storage/mmap_v1/catalog/namespace.h"
diff --git a/src/mongo/db/storage/mmap_v1/dur_commitjob.cpp b/src/mongo/db/storage/mmap_v1/dur_commitjob.cpp
index d270dfd0a76..5ce845e4556 100644
--- a/src/mongo/db/storage/mmap_v1/dur_commitjob.cpp
+++ b/src/mongo/db/storage/mmap_v1/dur_commitjob.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kStorage
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/storage/mmap_v1/dur_commitjob.h"
diff --git a/src/mongo/db/storage/mmap_v1/dur_commitjob.h b/src/mongo/db/storage/mmap_v1/dur_commitjob.h
index 3df8eb71f3c..cd655b6bd62 100644
--- a/src/mongo/db/storage/mmap_v1/dur_commitjob.h
+++ b/src/mongo/db/storage/mmap_v1/dur_commitjob.h
@@ -30,7 +30,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/storage/mmap_v1/dur.h"
#include "mongo/db/storage/mmap_v1/durop.h"
diff --git a/src/mongo/db/storage/mmap_v1/dur_preplogbuffer.cpp b/src/mongo/db/storage/mmap_v1/dur_preplogbuffer.cpp
index 95bb53eabf4..2aaf7e0a4e8 100644
--- a/src/mongo/db/storage/mmap_v1/dur_preplogbuffer.cpp
+++ b/src/mongo/db/storage/mmap_v1/dur_preplogbuffer.cpp
@@ -38,7 +38,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kStorage
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/storage/mmap_v1/dur.h"
#include "mongo/db/storage/mmap_v1/dur_commitjob.h"
diff --git a/src/mongo/dbtests/accumulatortests.cpp b/src/mongo/dbtests/accumulatortests.cpp
index 331a8ccc499..760d25c82e7 100644
--- a/src/mongo/dbtests/accumulatortests.cpp
+++ b/src/mongo/dbtests/accumulatortests.cpp
@@ -28,7 +28,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/accumulator.h"
#include "mongo/db/pipeline/document.h"
diff --git a/src/mongo/dbtests/chunktests.cpp b/src/mongo/dbtests/chunktests.cpp
index facf2b33ee2..7b86089185e 100644
--- a/src/mongo/dbtests/chunktests.cpp
+++ b/src/mongo/dbtests/chunktests.cpp
@@ -28,7 +28,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/json.h"
#include "mongo/dbtests/dbtests.h"
diff --git a/src/mongo/dbtests/directclienttests.cpp b/src/mongo/dbtests/directclienttests.cpp
index 8528c41ad09..24b92269a55 100644
--- a/src/mongo/dbtests/directclienttests.cpp
+++ b/src/mongo/dbtests/directclienttests.cpp
@@ -29,7 +29,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/db.h"
#include "mongo/db/dbdirectclient.h"
diff --git a/src/mongo/dbtests/documentsourcetests.cpp b/src/mongo/dbtests/documentsourcetests.cpp
index 67476ff42b2..14614e08b33 100644
--- a/src/mongo/dbtests/documentsourcetests.cpp
+++ b/src/mongo/dbtests/documentsourcetests.cpp
@@ -28,7 +28,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <boost/thread/thread.hpp>
diff --git a/src/mongo/dbtests/documenttests.cpp b/src/mongo/dbtests/documenttests.cpp
index a8d549ebada..aa21bbeb4e9 100644
--- a/src/mongo/dbtests/documenttests.cpp
+++ b/src/mongo/dbtests/documenttests.cpp
@@ -28,7 +28,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/field_path.h"
diff --git a/src/mongo/dbtests/expressiontests.cpp b/src/mongo/dbtests/expressiontests.cpp
index 449ac2d3597..e65a46478d5 100644
--- a/src/mongo/dbtests/expressiontests.cpp
+++ b/src/mongo/dbtests/expressiontests.cpp
@@ -28,7 +28,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression.h"
diff --git a/src/mongo/dbtests/gridfstest.cpp b/src/mongo/dbtests/gridfstest.cpp
index 299867fc941..b6745ace73b 100644
--- a/src/mongo/dbtests/gridfstest.cpp
+++ b/src/mongo/dbtests/gridfstest.cpp
@@ -26,7 +26,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/client/gridfs.h"
#include "mongo/db/dbdirectclient.h"
diff --git a/src/mongo/dbtests/jsobjtests.cpp b/src/mongo/dbtests/jsobjtests.cpp
index 3bec601b37c..2ca91a882de 100644
--- a/src/mongo/dbtests/jsobjtests.cpp
+++ b/src/mongo/dbtests/jsobjtests.cpp
@@ -31,7 +31,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/bson/util/builder.h"
#include "mongo/db/jsobj.h"
diff --git a/src/mongo/dbtests/jsontests.cpp b/src/mongo/dbtests/jsontests.cpp
index 9c3b322028a..567b7cabf47 100644
--- a/src/mongo/dbtests/jsontests.cpp
+++ b/src/mongo/dbtests/jsontests.cpp
@@ -31,7 +31,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <limits>
diff --git a/src/mongo/dbtests/pipelinetests.cpp b/src/mongo/dbtests/pipelinetests.cpp
index 3dd0862057a..8f802737380 100644
--- a/src/mongo/dbtests/pipelinetests.cpp
+++ b/src/mongo/dbtests/pipelinetests.cpp
@@ -28,7 +28,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression_context.h"
diff --git a/src/mongo/dbtests/socktests.cpp b/src/mongo/dbtests/socktests.cpp
index 65aa215794a..e2997700f40 100644
--- a/src/mongo/dbtests/socktests.cpp
+++ b/src/mongo/dbtests/socktests.cpp
@@ -29,7 +29,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/repl/isself.h"
#include "mongo/dbtests/dbtests.h"
diff --git a/src/mongo/dbtests/updatetests.cpp b/src/mongo/dbtests/updatetests.cpp
index 270c5254c45..2b7ede0607b 100644
--- a/src/mongo/dbtests/updatetests.cpp
+++ b/src/mongo/dbtests/updatetests.cpp
@@ -29,7 +29,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/bson/mutable/mutable_bson_test_utils.h"
#include "mongo/client/dbclientcursor.h"
diff --git a/src/mongo/pch.cpp b/src/mongo/pch.cpp
index d24b1f407da..3a55f8dfb42 100644
--- a/src/mongo/pch.cpp
+++ b/src/mongo/pch.cpp
@@ -27,7 +27,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#if defined( __MSVC__ )
// should probably check VS version here
diff --git a/src/mongo/pch.h b/src/mongo/pch.h
index 30a8d20e169..0cb280bc2d4 100644
--- a/src/mongo/pch.h
+++ b/src/mongo/pch.h
@@ -33,12 +33,14 @@
#ifndef MONGO_PCH_H
#define MONGO_PCH_H
+#ifndef MONGO_PCH_WHITELISTED
+#error New uses of mongo/pch.h are prohibited
+#endif
+
// our #define macros must not be active when we include
// system headers and boost headers
#include "mongo/client/undef_macros.h"
-#include "mongo/platform/basic.h"
-
#include <ctime>
#include <cstring>
#include <string>
diff --git a/src/mongo/s/balance.h b/src/mongo/s/balance.h
index 8c3e23711d3..8220c71074d 100644
--- a/src/mongo/s/balance.h
+++ b/src/mongo/s/balance.h
@@ -30,7 +30,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/client/dbclientinterface.h"
#include "mongo/s/balancer_policy.h"
diff --git a/src/mongo/s/chunk_version_test.cpp b/src/mongo/s/chunk_version_test.cpp
index 914e636c7f4..7c6cb0c796d 100644
--- a/src/mongo/s/chunk_version_test.cpp
+++ b/src/mongo/s/chunk_version_test.cpp
@@ -26,7 +26,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/s/chunk_version.h"
diff --git a/src/mongo/s/client_info.h b/src/mongo/s/client_info.h
index 0f1757f42b5..9dfdb2ef504 100644
--- a/src/mongo/s/client_info.h
+++ b/src/mongo/s/client_info.h
@@ -29,7 +29,10 @@
*/
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <map>
#include <set>
diff --git a/src/mongo/s/cursors.h b/src/mongo/s/cursors.h
index 292434a0dbc..8269b2def5d 100644
--- a/src/mongo/s/cursors.h
+++ b/src/mongo/s/cursors.h
@@ -30,7 +30,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <string>
diff --git a/src/mongo/s/default_version.cpp b/src/mongo/s/default_version.cpp
index 90f7315ddce..03422e94995 100644
--- a/src/mongo/s/default_version.cpp
+++ b/src/mongo/s/default_version.cpp
@@ -28,7 +28,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/s/version_manager.h"
diff --git a/src/mongo/s/distlock.h b/src/mongo/s/distlock.h
index 1dddd495efe..58f7cd7d76e 100644
--- a/src/mongo/s/distlock.h
+++ b/src/mongo/s/distlock.h
@@ -29,7 +29,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/client/connpool.h"
#include "mongo/client/export_macros.h"
#include "mongo/client/syncclusterconnection.h"
diff --git a/src/mongo/s/request.h b/src/mongo/s/request.h
index 7ca59139e66..f010b9db275 100644
--- a/src/mongo/s/request.h
+++ b/src/mongo/s/request.h
@@ -30,7 +30,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/dbmessage.h"
#include "mongo/s/config.h"
diff --git a/src/mongo/s/s_only.cpp b/src/mongo/s/s_only.cpp
index 643b4dd1ba5..cfd590f03b7 100644
--- a/src/mongo/s/s_only.cpp
+++ b/src/mongo/s/s_only.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kSharding
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/client/connpool.h"
#include "mongo/db/auth/authorization_manager.h"
diff --git a/src/mongo/s/shard.h b/src/mongo/s/shard.h
index 2999aa7eab0..14f11d3e976 100644
--- a/src/mongo/s/shard.h
+++ b/src/mongo/s/shard.h
@@ -30,7 +30,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/client/connpool.h"
diff --git a/src/mongo/s/shardconnection.cpp b/src/mongo/s/shardconnection.cpp
index 2f9651d2903..543ee9ee7fb 100644
--- a/src/mongo/s/shardconnection.cpp
+++ b/src/mongo/s/shardconnection.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kSharding
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <set>
diff --git a/src/mongo/s/strategy.h b/src/mongo/s/strategy.h
index 4f6ff7fed86..48fb22619b4 100644
--- a/src/mongo/s/strategy.h
+++ b/src/mongo/s/strategy.h
@@ -30,7 +30,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "chunk.h"
#include "request.h"
diff --git a/src/mongo/s/type_chunk_test.cpp b/src/mongo/s/type_chunk_test.cpp
index c85201857c6..ef20e780f4e 100644
--- a/src/mongo/s/type_chunk_test.cpp
+++ b/src/mongo/s/type_chunk_test.cpp
@@ -26,7 +26,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/bson/oid.h"
#include "mongo/s/chunk_version.h"
diff --git a/src/mongo/s/type_collection_test.cpp b/src/mongo/s/type_collection_test.cpp
index e0456148ed4..998155bf405 100644
--- a/src/mongo/s/type_collection_test.cpp
+++ b/src/mongo/s/type_collection_test.cpp
@@ -26,7 +26,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/bson/oid.h"
#include "mongo/s/type_collection.h"
diff --git a/src/mongo/s/type_database_test.cpp b/src/mongo/s/type_database_test.cpp
index 2e92c23d262..07ad92ce320 100644
--- a/src/mongo/s/type_database_test.cpp
+++ b/src/mongo/s/type_database_test.cpp
@@ -26,7 +26,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/bson/oid.h"
#include "mongo/db/field_parser.h"
diff --git a/src/mongo/s/type_shard_test.cpp b/src/mongo/s/type_shard_test.cpp
index 963ce3ed3d8..9a2b70af298 100644
--- a/src/mongo/s/type_shard_test.cpp
+++ b/src/mongo/s/type_shard_test.cpp
@@ -26,7 +26,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/s/type_shard.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/scripting/v8_deadline_monitor_test.cpp b/src/mongo/scripting/v8_deadline_monitor_test.cpp
index 6bf62eec3d0..e96ba9d8f78 100644
--- a/src/mongo/scripting/v8_deadline_monitor_test.cpp
+++ b/src/mongo/scripting/v8_deadline_monitor_test.cpp
@@ -28,7 +28,10 @@
// DeadlineMonitor unit tests
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/scripting/v8_deadline_monitor.h"
diff --git a/src/mongo/shell/shell_utils_extended.cpp b/src/mongo/shell/shell_utils_extended.cpp
index e3da8291568..5080a37fddf 100644
--- a/src/mongo/shell/shell_utils_extended.cpp
+++ b/src/mongo/shell/shell_utils_extended.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <boost/filesystem/convenience.hpp>
#include <fstream>
diff --git a/src/mongo/tools/bridge.cpp b/src/mongo/tools/bridge.cpp
index bb7865a66b1..6e136e135b4 100644
--- a/src/mongo/tools/bridge.cpp
+++ b/src/mongo/tools/bridge.cpp
@@ -28,7 +28,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <boost/thread.hpp>
#include <signal.h>
diff --git a/src/mongo/tools/sniffer.cpp b/src/mongo/tools/sniffer.cpp
index d520c4277f9..91e077ef4c0 100644
--- a/src/mongo/tools/sniffer.cpp
+++ b/src/mongo/tools/sniffer.cpp
@@ -36,7 +36,10 @@
killcursors
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#ifdef _WIN32
#undef min
diff --git a/src/mongo/unittest/unittest.cpp b/src/mongo/unittest/unittest.cpp
index bc5abbcbba3..e7b87874dba 100644
--- a/src/mongo/unittest/unittest.cpp
+++ b/src/mongo/unittest/unittest.cpp
@@ -28,7 +28,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/util/alignedbuilder.cpp b/src/mongo/util/alignedbuilder.cpp
index 41c0efb8ae9..cf09de9846f 100644
--- a/src/mongo/util/alignedbuilder.cpp
+++ b/src/mongo/util/alignedbuilder.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/alignedbuilder.h"
#include "mongo/util/log.h"
diff --git a/src/mongo/util/base64.cpp b/src/mongo/util/base64.cpp
index 6e1c7b418d7..cd7218c368f 100644
--- a/src/mongo/util/base64.cpp
+++ b/src/mongo/util/base64.cpp
@@ -28,7 +28,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/base64.h"
diff --git a/src/mongo/util/bson_util.h b/src/mongo/util/bson_util.h
index b4b4bae30b2..b198f5a2798 100644
--- a/src/mongo/util/bson_util.h
+++ b/src/mongo/util/bson_util.h
@@ -29,7 +29,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
namespace mongo {
diff --git a/src/mongo/util/checksum.h b/src/mongo/util/checksum.h
index cb133c05ba8..606c0eb8220 100644
--- a/src/mongo/util/checksum.h
+++ b/src/mongo/util/checksum.h
@@ -28,7 +28,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
namespace mongo {
/** a simple, rather dumb, but very fast checksum. see perftests.cpp for unit tests. */
diff --git a/src/mongo/util/concurrency/spin_lock.cpp b/src/mongo/util/concurrency/spin_lock.cpp
index df96fbfd179..f7f897f2140 100644
--- a/src/mongo/util/concurrency/spin_lock.cpp
+++ b/src/mongo/util/concurrency/spin_lock.cpp
@@ -27,7 +27,10 @@
* then also delete it in the license file.
*/
-#include "mongo/pch.h" // todo eliminate this include
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
+#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED // todo eliminate this include
#include "mongo/util/concurrency/spin_lock.h"
diff --git a/src/mongo/util/concurrency/task.cpp b/src/mongo/util/concurrency/task.cpp
index 75e0e85cc87..6f78bee1b16 100644
--- a/src/mongo/util/concurrency/task.cpp
+++ b/src/mongo/util/concurrency/task.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <boost/thread/condition.hpp>
diff --git a/src/mongo/util/concurrency/thread_pool.cpp b/src/mongo/util/concurrency/thread_pool.cpp
index 741b46d34c7..408335ef9a7 100644
--- a/src/mongo/util/concurrency/thread_pool.cpp
+++ b/src/mongo/util/concurrency/thread_pool.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/concurrency/thread_pool.h"
diff --git a/src/mongo/util/file_allocator.h b/src/mongo/util/file_allocator.h
index aa59ce18b3d..50f4d023a6d 100644
--- a/src/mongo/util/file_allocator.h
+++ b/src/mongo/util/file_allocator.h
@@ -27,7 +27,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <list>
#include <boost/filesystem/path.hpp>
diff --git a/src/mongo/util/intrusive_counter.cpp b/src/mongo/util/intrusive_counter.cpp
index 1b14cc80cae..4d74f656063 100644
--- a/src/mongo/util/intrusive_counter.cpp
+++ b/src/mongo/util/intrusive_counter.cpp
@@ -26,7 +26,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/intrusive_counter.h"
diff --git a/src/mongo/util/logfile.cpp b/src/mongo/util/logfile.cpp
index bc374f6ff02..37064fba587 100644
--- a/src/mongo/util/logfile.cpp
+++ b/src/mongo/util/logfile.cpp
@@ -30,7 +30,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/logfile.h"
diff --git a/src/mongo/util/md5main.cpp b/src/mongo/util/md5main.cpp
index e99de9b4156..d11f35483c8 100644
--- a/src/mongo/util/md5main.cpp
+++ b/src/mongo/util/md5main.cpp
@@ -40,7 +40,10 @@
2002-04-13 lpd Splits off main program into a separate file, md5main.c.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <math.h>
#include <stdio.h>
diff --git a/src/mongo/util/mmap.cpp b/src/mongo/util/mmap.cpp
index a2bef8abe36..917fff03327 100644
--- a/src/mongo/util/mmap.cpp
+++ b/src/mongo/util/mmap.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/mmap.h"
diff --git a/src/mongo/util/mmap_posix.cpp b/src/mongo/util/mmap_posix.cpp
index dea51fa7f7f..6b840928f3e 100644
--- a/src/mongo/util/mmap_posix.cpp
+++ b/src/mongo/util/mmap_posix.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <errno.h>
#include <fcntl.h>
diff --git a/src/mongo/util/mmap_win.cpp b/src/mongo/util/mmap_win.cpp
index 5d0d0aa1356..c1f6492561e 100644
--- a/src/mongo/util/mmap_win.cpp
+++ b/src/mongo/util/mmap_win.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/concurrency/d_concurrency.h"
#include "mongo/db/storage/mmap_v1/durable_mapped_file.h"
diff --git a/src/mongo/util/net/httpclient.cpp b/src/mongo/util/net/httpclient.cpp
index b72e0135b43..cf64d5f7447 100644
--- a/src/mongo/util/net/httpclient.cpp
+++ b/src/mongo/util/net/httpclient.cpp
@@ -27,7 +27,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/net/httpclient.h"
diff --git a/src/mongo/util/net/httpclient.h b/src/mongo/util/net/httpclient.h
index ade84d03307..233c0ba9e67 100644
--- a/src/mongo/util/net/httpclient.h
+++ b/src/mongo/util/net/httpclient.h
@@ -30,7 +30,10 @@
#pragma once
#include "mongo/client/export_macros.h"
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
namespace mongo {
diff --git a/src/mongo/util/net/message.cpp b/src/mongo/util/net/message.cpp
index 6712890dbc8..88fa214d169 100644
--- a/src/mongo/util/net/message.cpp
+++ b/src/mongo/util/net/message.cpp
@@ -27,7 +27,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/net/message.h"
diff --git a/src/mongo/util/net/message_server.h b/src/mongo/util/net/message_server.h
index 1f698fede7e..953174db6bc 100644
--- a/src/mongo/util/net/message_server.h
+++ b/src/mongo/util/net/message_server.h
@@ -34,7 +34,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
namespace mongo {
diff --git a/src/mongo/util/net/message_server_port.cpp b/src/mongo/util/net/message_server_port.cpp
index 1b357782e4d..038394dda90 100644
--- a/src/mongo/util/net/message_server_port.cpp
+++ b/src/mongo/util/net/message_server_port.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kNetwork
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <boost/thread/thread.hpp>
diff --git a/src/mongo/util/net/miniwebserver.h b/src/mongo/util/net/miniwebserver.h
index 645db42746f..c95333371ee 100644
--- a/src/mongo/util/net/miniwebserver.h
+++ b/src/mongo/util/net/miniwebserver.h
@@ -29,7 +29,10 @@
#pragma once
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/db/jsobj.h"
#include "mongo/util/net/listen.h"
diff --git a/src/mongo/util/password.cpp b/src/mongo/util/password.cpp
index da93ae45fb4..65b7e8579b6 100644
--- a/src/mongo/util/password.cpp
+++ b/src/mongo/util/password.cpp
@@ -28,7 +28,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/password.h"
diff --git a/src/mongo/util/processinfo.cpp b/src/mongo/util/processinfo.cpp
index e6b151b7d7a..ef04a6d7afe 100644
--- a/src/mongo/util/processinfo.cpp
+++ b/src/mongo/util/processinfo.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/base/init.h"
#include "mongo/util/processinfo.h"
diff --git a/src/mongo/util/processinfo_darwin.cpp b/src/mongo/util/processinfo_darwin.cpp
index 4967c88bbeb..98323663f9f 100644
--- a/src/mongo/util/processinfo_darwin.cpp
+++ b/src/mongo/util/processinfo_darwin.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/processinfo.h"
#include "mongo/util/log.h"
#include "mongo/db/jsobj.h"
diff --git a/src/mongo/util/processinfo_none.cpp b/src/mongo/util/processinfo_none.cpp
index 94e98649a0d..0e67f34362f 100644
--- a/src/mongo/util/processinfo_none.cpp
+++ b/src/mongo/util/processinfo_none.cpp
@@ -27,7 +27,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <iostream>
diff --git a/src/mongo/util/processinfo_win32.cpp b/src/mongo/util/processinfo_win32.cpp
index 0dcc43609ca..edc711e42b4 100644
--- a/src/mongo/util/processinfo_win32.cpp
+++ b/src/mongo/util/processinfo_win32.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include <iostream>
#include <psapi.h>
diff --git a/src/mongo/util/progress_meter.cpp b/src/mongo/util/progress_meter.cpp
index 85594e1ab02..7b57d76f0e0 100644
--- a/src/mongo/util/progress_meter.cpp
+++ b/src/mongo/util/progress_meter.cpp
@@ -29,7 +29,10 @@
#define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kDefault
-#include "mongo/pch.h" // needed for log.h
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
+#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED // needed for log.h
#include "mongo/util/progress_meter.h"
diff --git a/src/mongo/util/safe_num.cpp b/src/mongo/util/safe_num.cpp
index 7f683a58ce3..437a1818f2c 100644
--- a/src/mongo/util/safe_num.cpp
+++ b/src/mongo/util/safe_num.cpp
@@ -28,7 +28,10 @@
#include <sstream>
#include <boost/static_assert.hpp>
-#include "mongo/pch.h" // for malloc/realloc/INFINITY pulled from bson
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
+#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED // for malloc/realloc/INFINITY pulled from bson
#include "mongo/bson/bsontypes.h"
#include "mongo/util/safe_num.h"
diff --git a/src/mongo/util/safe_num_test.cpp b/src/mongo/util/safe_num_test.cpp
index 6bd3915b0e5..f1553262496 100644
--- a/src/mongo/util/safe_num_test.cpp
+++ b/src/mongo/util/safe_num_test.cpp
@@ -27,7 +27,10 @@
#include <limits>
-#include "mongo/pch.h" // for malloc/realloc pulled from bson
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
+#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED // for malloc/realloc pulled from bson
#include "mongo/bson/bsontypes.h"
#include "mongo/util/safe_num.h"
diff --git a/src/mongo/util/stringutils.cpp b/src/mongo/util/stringutils.cpp
index 5b3a9167a7e..ad9e6021424 100644
--- a/src/mongo/util/stringutils.cpp
+++ b/src/mongo/util/stringutils.cpp
@@ -27,7 +27,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/stringutils.h"
diff --git a/src/mongo/util/text_startuptest.cpp b/src/mongo/util/text_startuptest.cpp
index f7bb742b597..a6fd6da4cc8 100644
--- a/src/mongo/util/text_startuptest.cpp
+++ b/src/mongo/util/text_startuptest.cpp
@@ -25,7 +25,10 @@
* then also delete it in the license file.
*/
+#define MONGO_PCH_WHITELISTED
+#include "mongo/platform/basic.h"
#include "mongo/pch.h"
+#undef MONGO_PCH_WHITELISTED
#include "mongo/util/text.h"