summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo')
-rw-r--r--src/mongo/bson/SConscript2
-rw-r--r--src/mongo/client/SConscript2
-rw-r--r--src/mongo/client/remote_command_targeter_factory_mock.cpp2
-rw-r--r--src/mongo/crypto/SConscript2
-rw-r--r--src/mongo/crypto/mechanism_scram.h2
-rw-r--r--src/mongo/db/SConscript6
-rw-r--r--src/mongo/db/auth/SConscript2
-rw-r--r--src/mongo/db/commands/SConscript2
-rw-r--r--src/mongo/db/free_mon/SConscript2
-rw-r--r--src/mongo/db/ftdc/SConscript2
-rw-r--r--src/mongo/db/fts/SConscript2
-rw-r--r--src/mongo/db/index/SConscript2
-rw-r--r--src/mongo/db/pipeline/SConscript2
-rw-r--r--src/mongo/db/pipeline/expression.h4
-rw-r--r--src/mongo/db/query/collation/SConscript2
-rw-r--r--src/mongo/db/query/datetime/SConscript2
-rw-r--r--src/mongo/db/sorter/SConscript2
-rw-r--r--src/mongo/db/storage/mobile/SConscript2
-rw-r--r--src/mongo/db/storage/wiredtiger/SConscript6
-rw-r--r--src/mongo/embedded/SConscript2
-rw-r--r--src/mongo/embedded/mongo_embedded/SConscript2
-rw-r--r--src/mongo/embedded/mongoc_embedded/SConscript2
-rw-r--r--src/mongo/scripting/SConscript15
-rw-r--r--src/mongo/tools/SConscript2
-rw-r--r--src/mongo/transport/SConscript4
-rw-r--r--src/mongo/unittest/SConscript2
-rw-r--r--src/mongo/util/SConscript10
-rw-r--r--src/mongo/util/dns_query_windows-impl.h8
-rw-r--r--src/mongo/util/future.h7
-rw-r--r--src/mongo/util/options_parser/SConscript2
30 files changed, 59 insertions, 45 deletions
diff --git a/src/mongo/bson/SConscript b/src/mongo/bson/SConscript
index f1d9ab122ea..68a5ba0ad00 100644
--- a/src/mongo/bson/SConscript
+++ b/src/mongo/bson/SConscript
@@ -96,7 +96,7 @@ env.CppUnitTest(
)
asioEnv = env.Clone()
-asioEnv.InjectThirdPartyIncludePaths('asio')
+asioEnv.InjectThirdParty('asio')
asioEnv.CppIntegrationTest(
target='ugly_bson_integration_test',
diff --git a/src/mongo/client/SConscript b/src/mongo/client/SConscript
index 8deaaa5aaec..2a651dd585e 100644
--- a/src/mongo/client/SConscript
+++ b/src/mongo/client/SConscript
@@ -148,7 +148,7 @@ env.Library(
)
clientDriverEnv = env.Clone()
-clientDriverEnv.InjectThirdPartyIncludePaths('asio')
+clientDriverEnv.InjectThirdParty('asio')
clientDriverEnv.Library(
target='clientdriver_minimal',
diff --git a/src/mongo/client/remote_command_targeter_factory_mock.cpp b/src/mongo/client/remote_command_targeter_factory_mock.cpp
index 0b664284788..bb79bda9d80 100644
--- a/src/mongo/client/remote_command_targeter_factory_mock.cpp
+++ b/src/mongo/client/remote_command_targeter_factory_mock.cpp
@@ -96,7 +96,7 @@ void RemoteCommandTargeterFactoryMock::removeTargeterToReturn(const ConnectionSt
MockTargetersMap::iterator it = _mockTargeters.find(connStr);
invariant(it != _mockTargeters.end());
- invariant(it->second.unique());
+ invariant(it->second.use_count() == 1);
_mockTargeters.erase(it);
}
diff --git a/src/mongo/crypto/SConscript b/src/mongo/crypto/SConscript
index ee4c4ff7f03..8f6e35d7b60 100644
--- a/src/mongo/crypto/SConscript
+++ b/src/mongo/crypto/SConscript
@@ -24,7 +24,7 @@ env.Library('sha256_block',
if "tom" in env["MONGO_CRYPTO"]:
tomEnv = env.Clone()
- tomEnv.InjectThirdPartyIncludePaths(libraries=['tomcrypt'])
+ tomEnv.InjectThirdParty(libraries=['tomcrypt'])
tomEnv.Append(
CPPDEFINES=[
'LTC_NO_PROTOTYPES',
diff --git a/src/mongo/crypto/mechanism_scram.h b/src/mongo/crypto/mechanism_scram.h
index 2a8cd79e72f..2a8d897f72d 100644
--- a/src/mongo/crypto/mechanism_scram.h
+++ b/src/mongo/crypto/mechanism_scram.h
@@ -122,7 +122,7 @@ private:
return std::tie(_password, _salt, _iterationCount);
}
- static constexpr auto saltLength() {
+ static constexpr auto saltLength() -> decltype(HashBlock::kHashLength) {
return HashBlock::kHashLength - 4;
}
diff --git a/src/mongo/db/SConscript b/src/mongo/db/SConscript
index af94c070fc2..5fd17fe7ee3 100644
--- a/src/mongo/db/SConscript
+++ b/src/mongo/db/SConscript
@@ -7,7 +7,7 @@ env = env.Clone()
# Ideally 's2' would be scoped narrowly but it is spammed in all over the place by
# db/geo unfortunately.
-env.InjectThirdPartyIncludePaths(libraries=[
+env.InjectThirdParty(libraries=[
's2',
])
@@ -1279,7 +1279,7 @@ env.Library(
)
envWithAsio = env.Clone()
-envWithAsio.InjectThirdPartyIncludePaths(libraries=['asio'])
+envWithAsio.InjectThirdParty(libraries=['asio'])
envWithAsio.CppUnitTest(
target='logical_session_id_test',
@@ -1966,7 +1966,7 @@ env.Library(
)
asioEnv = env.Clone()
-asioEnv.InjectThirdPartyIncludePaths('asio')
+asioEnv.InjectThirdParty('asio')
asioEnv.CppIntegrationTest(
target='nesting_depth_test',
diff --git a/src/mongo/db/auth/SConscript b/src/mongo/db/auth/SConscript
index 9c71ac46304..e66d6b4e703 100644
--- a/src/mongo/db/auth/SConscript
+++ b/src/mongo/db/auth/SConscript
@@ -285,7 +285,7 @@ env.Library(
)
yamlEnv = env.Clone()
-yamlEnv.InjectThirdPartyIncludePaths(libraries=['yaml'])
+yamlEnv.InjectThirdParty(libraries=['yaml'])
yamlEnv.Library(
target='security_file',
source=[
diff --git a/src/mongo/db/commands/SConscript b/src/mongo/db/commands/SConscript
index 547dddc5284..58aa4e3da35 100644
--- a/src/mongo/db/commands/SConscript
+++ b/src/mongo/db/commands/SConscript
@@ -512,7 +512,7 @@ env.Library(
if has_option('use-cpu-profiler'):
profEnv = env.Clone()
- profEnv.InjectThirdPartyIncludePaths('gperftools')
+ profEnv.InjectThirdParty('gperftools')
profEnv.Library(
target='cpuprofiler',
source=[
diff --git a/src/mongo/db/free_mon/SConscript b/src/mongo/db/free_mon/SConscript
index 0ba806f82a9..cc266679206 100644
--- a/src/mongo/db/free_mon/SConscript
+++ b/src/mongo/db/free_mon/SConscript
@@ -5,7 +5,7 @@ Import("free_monitoring")
env = env.Clone()
fmEnv = env.Clone()
-fmEnv.InjectThirdPartyIncludePaths(libraries=['snappy'])
+fmEnv.InjectThirdParty(libraries=['snappy'])
fmEnv.Library(
target='free_mon',
diff --git a/src/mongo/db/ftdc/SConscript b/src/mongo/db/ftdc/SConscript
index 8be42abcbc5..14743514166 100644
--- a/src/mongo/db/ftdc/SConscript
+++ b/src/mongo/db/ftdc/SConscript
@@ -4,7 +4,7 @@ Import("env")
env = env.Clone()
ftdcEnv = env.Clone()
-ftdcEnv.InjectThirdPartyIncludePaths(libraries=['zlib'])
+ftdcEnv.InjectThirdParty(libraries=['zlib'])
ftdcEnv.Library(
target='ftdc',
diff --git a/src/mongo/db/fts/SConscript b/src/mongo/db/fts/SConscript
index 1a6d0ce6599..72d3ca6aff8 100644
--- a/src/mongo/db/fts/SConscript
+++ b/src/mongo/db/fts/SConscript
@@ -37,7 +37,7 @@ generateStopWordsList = env.Command( [ "stop_words_list.h", "stop_words_list.cpp
env.Alias('generated-sources', generateStopWordsList)
baseEnv=env.Clone()
-baseEnv.InjectThirdPartyIncludePaths(libraries=['stemmer'])
+baseEnv.InjectThirdParty(libraries=['stemmer'])
baseEnv.Library('base_fts', [
'fts_index_format.cpp',
'fts_matcher.cpp',
diff --git a/src/mongo/db/index/SConscript b/src/mongo/db/index/SConscript
index 48139514fbd..21490053480 100644
--- a/src/mongo/db/index/SConscript
+++ b/src/mongo/db/index/SConscript
@@ -94,7 +94,7 @@ env.CppUnitTest(
)
serveronlyEnv = env.Clone()
-serveronlyEnv.InjectThirdPartyIncludePaths(libraries=['snappy'])
+serveronlyEnv.InjectThirdParty(libraries=['snappy'])
serveronlyEnv.Library(
target="index_access_method",
source=[
diff --git a/src/mongo/db/pipeline/SConscript b/src/mongo/db/pipeline/SConscript
index f03305d8d53..2480340ea2d 100644
--- a/src/mongo/db/pipeline/SConscript
+++ b/src/mongo/db/pipeline/SConscript
@@ -357,7 +357,7 @@ env.Library(
)
pipelineeEnv = env.Clone()
-pipelineeEnv.InjectThirdPartyIncludePaths(libraries=['snappy'])
+pipelineeEnv.InjectThirdParty(libraries=['snappy'])
pipelineeEnv.Library(
target='pipeline',
source=[
diff --git a/src/mongo/db/pipeline/expression.h b/src/mongo/db/pipeline/expression.h
index d02df48f9d7..3e1f1268a57 100644
--- a/src/mongo/db/pipeline/expression.h
+++ b/src/mongo/db/pipeline/expression.h
@@ -597,10 +597,10 @@ public:
* off the timezone if not specified.
*/
Value serialize(bool explain) const final {
+ auto timezone = _timeZone ? _timeZone->serialize(explain) : Value();
return Value(Document{
{_opName,
- Document{{"date", _date->serialize(explain)},
- {"timezone", _timeZone ? _timeZone->serialize(explain) : Value()}}}});
+ Document{{"date", _date->serialize(explain)}, {"timezone", std::move(timezone)}}}});
}
boost::intrusive_ptr<Expression> optimize() final {
diff --git a/src/mongo/db/query/collation/SConscript b/src/mongo/db/query/collation/SConscript
index 6813ecb940f..6d5b61c660b 100644
--- a/src/mongo/db/query/collation/SConscript
+++ b/src/mongo/db/query/collation/SConscript
@@ -126,7 +126,7 @@ env.CppUnitTest(
icuEnv = env.Clone()
if not use_system_version_of_library("icu"):
- icuEnv.InjectThirdPartyIncludePaths("icu")
+ icuEnv.InjectThirdParty("icu")
# Since we are injecting the third-party ICU headers, we must also copy the same defines that we
# use to configure ICU when building ICU sources. See comment in
# src/third_party/icu4c-57.1/source/SConscript.
diff --git a/src/mongo/db/query/datetime/SConscript b/src/mongo/db/query/datetime/SConscript
index a9f8bb87746..69171d52c83 100644
--- a/src/mongo/db/query/datetime/SConscript
+++ b/src/mongo/db/query/datetime/SConscript
@@ -5,7 +5,7 @@ Import('env')
env = env.Clone()
timeZoneEnv = env.Clone()
-timeZoneEnv.InjectThirdPartyIncludePaths(libraries=['timelib'])
+timeZoneEnv.InjectThirdParty(libraries=['timelib'])
timeZoneEnv.Library(
target='date_time_support',
source=[
diff --git a/src/mongo/db/sorter/SConscript b/src/mongo/db/sorter/SConscript
index 7b5dd0bdd6e..2f0014755a2 100644
--- a/src/mongo/db/sorter/SConscript
+++ b/src/mongo/db/sorter/SConscript
@@ -3,7 +3,7 @@ Import("env")
env = env.Clone()
sorterEnv = env.Clone()
-sorterEnv.InjectThirdPartyIncludePaths(libraries=['snappy'])
+sorterEnv.InjectThirdParty(libraries=['snappy'])
sorterEnv.CppUnitTest('sorter_test',
'sorter_test.cpp',
LIBDEPS=['$BUILD_DIR/mongo/db/service_context',
diff --git a/src/mongo/db/storage/mobile/SConscript b/src/mongo/db/storage/mobile/SConscript
index 2ce89806410..5276dfd2382 100644
--- a/src/mongo/db/storage/mobile/SConscript
+++ b/src/mongo/db/storage/mobile/SConscript
@@ -3,7 +3,7 @@ Import("mobile_se")
env = env.Clone()
-env.InjectThirdPartyIncludePaths(libraries=['sqlite'])
+env.InjectThirdParty(libraries=['sqlite'])
env.Library(
target='storage_mobile_core',
diff --git a/src/mongo/db/storage/wiredtiger/SConscript b/src/mongo/db/storage/wiredtiger/SConscript
index 373931db88f..d7f1eb61b96 100644
--- a/src/mongo/db/storage/wiredtiger/SConscript
+++ b/src/mongo/db/storage/wiredtiger/SConscript
@@ -26,9 +26,9 @@ env.Library(
if wiredtiger:
wtEnv = env.Clone()
- wtEnv.InjectThirdPartyIncludePaths(libraries=['wiredtiger'])
- wtEnv.InjectThirdPartyIncludePaths(libraries=['zlib'])
- wtEnv.InjectThirdPartyIncludePaths(libraries=['valgrind'])
+ wtEnv.InjectThirdParty(libraries=['wiredtiger'])
+ wtEnv.InjectThirdParty(libraries=['zlib'])
+ wtEnv.InjectThirdParty(libraries=['valgrind'])
# This is the smallest possible set of files that wraps WT
wtEnv.Library(
diff --git a/src/mongo/embedded/SConscript b/src/mongo/embedded/SConscript
index 88fc6370203..bd704448dc2 100644
--- a/src/mongo/embedded/SConscript
+++ b/src/mongo/embedded/SConscript
@@ -58,7 +58,7 @@ env.SConscript(
)
yamlEnv = env.Clone()
-yamlEnv.InjectThirdPartyIncludePaths(libraries=['yaml'])
+yamlEnv.InjectThirdParty(libraries=['yaml'])
env.Library(
target='embedded',
diff --git a/src/mongo/embedded/mongo_embedded/SConscript b/src/mongo/embedded/mongo_embedded/SConscript
index 402d5b1bbf7..0db8345b57e 100644
--- a/src/mongo/embedded/mongo_embedded/SConscript
+++ b/src/mongo/embedded/mongo_embedded/SConscript
@@ -88,7 +88,7 @@ if get_option('install-mode') == 'hygienic':
)
yamlEnv = env.Clone()
-yamlEnv.InjectThirdPartyIncludePaths(libraries=['yaml'])
+yamlEnv.InjectThirdParty(libraries=['yaml'])
if get_option('link-model') != 'dynamic-sdk':
mongoEmbeddedTest = yamlEnv.Program(
diff --git a/src/mongo/embedded/mongoc_embedded/SConscript b/src/mongo/embedded/mongoc_embedded/SConscript
index 5679e997521..17943186a37 100644
--- a/src/mongo/embedded/mongoc_embedded/SConscript
+++ b/src/mongo/embedded/mongoc_embedded/SConscript
@@ -87,7 +87,7 @@ if get_option('install-mode') == 'hygienic':
)
yamlEnv = env.Clone()
-yamlEnv.InjectThirdPartyIncludePaths(libraries=['yaml'])
+yamlEnv.InjectThirdParty(libraries=['yaml'])
if get_option('link-model') != 'dynamic-sdk':
mongocEmbeddedTestEnv = create_mongoc_env(yamlEnv)
diff --git a/src/mongo/scripting/SConscript b/src/mongo/scripting/SConscript
index edbc90ce365..47b61c50823 100644
--- a/src/mongo/scripting/SConscript
+++ b/src/mongo/scripting/SConscript
@@ -59,15 +59,20 @@ env.Library(
if usemozjs:
scriptingEnv = env.Clone()
- scriptingEnv.InjectThirdPartyIncludePaths(libraries=['mozjs'])
+ scriptingEnv.InjectThirdParty(libraries=['mozjs'])
# TODO: get rid of all of this /FI and -include stuff and migrate to a shim
# header we include in all of our files.
if env.TargetOSIs('windows'):
- scriptingEnv.Append(CCFLAGS=[
- '/FI', 'js-config.h',
- '/FI', 'js/RequiredDefines.h',
- ])
+ scriptingEnv.Append(
+ CCFLAGS=[
+ '/FI', 'js-config.h',
+ '/FI', 'js/RequiredDefines.h',
+ ],
+ CPPDEFINES=[
+ '_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING',
+ ]
+ )
else:
scriptingEnv.Append(
CCFLAGS=[
diff --git a/src/mongo/tools/SConscript b/src/mongo/tools/SConscript
index ec512743904..e27673dd9b4 100644
--- a/src/mongo/tools/SConscript
+++ b/src/mongo/tools/SConscript
@@ -6,7 +6,7 @@ Import('get_option')
env = env.Clone()
yamlEnv = env.Clone()
-yamlEnv.InjectThirdPartyIncludePaths(libraries=['yaml'])
+yamlEnv.InjectThirdParty(libraries=['yaml'])
mongobridge = env.Program(
target="mongobridge",
diff --git a/src/mongo/transport/SConscript b/src/mongo/transport/SConscript
index a8a2bb3776d..6ca36ed7916 100644
--- a/src/mongo/transport/SConscript
+++ b/src/mongo/transport/SConscript
@@ -30,7 +30,7 @@ env.Library(
)
tlEnv = env.Clone()
-tlEnv.InjectThirdPartyIncludePaths(libraries=['asio'])
+tlEnv.InjectThirdParty(libraries=['asio'])
tlEnv.Library(
target='transport_layer_manager',
@@ -208,7 +208,7 @@ env.CppUnitTest(
)
zlibEnv = env.Clone()
-zlibEnv.InjectThirdPartyIncludePaths(libraries=['zlib', 'zstd', 'snappy'])
+zlibEnv.InjectThirdParty(libraries=['zlib', 'zstd', 'snappy'])
zlibEnv.Library(
target='message_compressor',
source=[
diff --git a/src/mongo/unittest/SConscript b/src/mongo/unittest/SConscript
index 21bb594a835..253744b6de6 100644
--- a/src/mongo/unittest/SConscript
+++ b/src/mongo/unittest/SConscript
@@ -53,7 +53,7 @@ env.Library(
)
bmEnv = env.Clone()
-bmEnv.InjectThirdPartyIncludePaths(libraries=['benchmark'])
+bmEnv.InjectThirdParty(libraries=['benchmark'])
bmEnv.Library(
target='benchmark_main',
source=[
diff --git a/src/mongo/util/SConscript b/src/mongo/util/SConscript
index 6c218980a0e..a5674b3eb18 100644
--- a/src/mongo/util/SConscript
+++ b/src/mongo/util/SConscript
@@ -8,7 +8,7 @@ Import("use_system_version_of_library")
env = env.Clone()
-env.InjectThirdPartyIncludePaths('asio')
+env.InjectThirdParty('asio')
env.SConscript(
dirs=[
@@ -380,7 +380,7 @@ if env['MONGO_ALLOCATOR'] == 'tcmalloc':
if not use_system_version_of_library('tcmalloc'):
# Add in the include path for our vendored tcmalloc.
- tcmspEnv.InjectThirdPartyIncludePaths('gperftools')
+ tcmspEnv.InjectThirdParty('gperftools')
# If our changes to tcmalloc are ever upstreamed, this should become set based on a top
# level configure check, though its effects should still be scoped just to these files.
@@ -393,7 +393,7 @@ if env['MONGO_ALLOCATOR'] == 'tcmalloc':
if not use_system_version_of_library('valgrind'):
# Include valgrind since tcmalloc disables itself while running under valgrind
- tcmspEnv.InjectThirdPartyIncludePaths('valgrind')
+ tcmspEnv.InjectThirdParty('valgrind')
tcmspEnv.Library(
target='tcmalloc_set_parameter',
@@ -512,7 +512,7 @@ if has_option('use-cpu-profiler'):
)
if not use_system_version_of_library('tcmalloc'):
- quick_exit_env.InjectThirdPartyIncludePaths(
+ quick_exit_env.InjectThirdParty(
'gperftools'
)
@@ -822,7 +822,7 @@ if not use_system_version_of_library("icu"):
)
icuEnv.Alias("generated-sources", generateICUInit)
- icuEnv.InjectThirdPartyIncludePaths("icu")
+ icuEnv.InjectThirdParty("icu")
# Since we are injecting the third-party ICU headers, we must also copy the same defines that we
# use to configure ICU when building ICU sources. See comment in
# src/third_party/icu4c-57.1/source/SConscript.
diff --git a/src/mongo/util/dns_query_windows-impl.h b/src/mongo/util/dns_query_windows-impl.h
index 65395da16b4..ba2940196d5 100644
--- a/src/mongo/util/dns_query_windows-impl.h
+++ b/src/mongo/util/dns_query_windows-impl.h
@@ -154,8 +154,14 @@ public:
explicit DNSResponse(std::string service, PDNS_RECORDA initialResults)
: _service(std::move(service)), _results(initialResults, freeDnsRecord) {}
- class iterator : public std::iterator<std::forward_iterator_tag, ResourceRecord> {
+ class iterator {
public:
+ using iterator_category = std::forward_iterator_tag;
+ using value_type = ResourceRecord;
+ using difference_type = std::ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+
const ResourceRecord& operator*() {
this->_populate();
return this->_storage;
diff --git a/src/mongo/util/future.h b/src/mongo/util/future.h
index c32731c1986..3ad43982591 100644
--- a/src/mongo/util/future.h
+++ b/src/mongo/util/future.h
@@ -1710,8 +1710,8 @@ inline auto makePromiseFuture() {
* FutureContinuationResult<std::function<int(bool)>, NotBool> SFINAE-safe substitution failure.
*/
template <typename Func, typename... Args>
-using FutureContinuationResult =
- typename future_details::FutureContinuationResultImpl<std::result_of_t<Func(Args&&...)>>::type;
+using FutureContinuationResult = typename future_details::FutureContinuationResultImpl<
+ std::invoke_result_t<Func, Args&&...>>::type;
//
// Implementations of methods that couldn't be defined in the class due to ordering requirements.
@@ -1719,12 +1719,14 @@ using FutureContinuationResult =
template <typename T>
inline Future<T> Promise<T>::getFuture() noexcept {
+ using namespace future_details;
_sharedState->threadUnsafeIncRefCountTo(2);
return Future<T>(boost::intrusive_ptr<SharedState<T>>(_sharedState.get(), /*add ref*/ false));
}
template <typename T>
inline void Promise<T>::setFrom(Future<T>&& future) noexcept {
+ using namespace future_details;
setImpl([&](boost::intrusive_ptr<SharedState<T>>&& sharedState) {
future.propagateResultTo(sharedState.get());
});
@@ -1743,6 +1745,7 @@ template <typename T>
template <typename T>
inline SharedSemiFuture<T> Future<T>::share() && noexcept {
+ using namespace future_details;
if (!_immediate)
return SharedSemiFuture<T>(std::move(_shared));
diff --git a/src/mongo/util/options_parser/SConscript b/src/mongo/util/options_parser/SConscript
index ce5083bd1e8..03c7882bfe1 100644
--- a/src/mongo/util/options_parser/SConscript
+++ b/src/mongo/util/options_parser/SConscript
@@ -5,7 +5,7 @@ Import("env")
env = env.Clone()
optsEnv = env.Clone()
-optsEnv.InjectThirdPartyIncludePaths(libraries=['yaml'])
+optsEnv.InjectThirdParty(libraries=['yaml'])
optsEnv.Library(
target='options_parser',