From 6fdb2d304e05a17e57b2efd7f8252794a8722dbe Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 1 Jun 2021 08:25:36 -0700
Subject: [PATCH] Use explicit typecast to size_t

maxMemoryUsageBytes is size_t type which may not match long long value
internalDocumentSourceGroupMaxMemoryBytes.load() returns, so typecast it
to avoid narrowing warning from clang

document_source_group.cpp:378:22: error: non-constant-expression cannot be narrowed from type 'long long' to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
                     maxMemoryUsageBytes ? *maxMemoryUsageBytes
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Upstream-Status: Submitted [https://github.com/mongodb/mongo/pull/1405]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 src/mongo/db/pipeline/document_source_group.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mongo/db/pipeline/document_source_group.cpp b/src/mongo/db/pipeline/document_source_group.cpp
index c7bf44e72e..a52906a940 100644
--- a/src/mongo/db/pipeline/document_source_group.cpp
+++ b/src/mongo/db/pipeline/document_source_group.cpp
@@ -376,7 +376,7 @@ DocumentSourceGroup::DocumentSourceGroup(const intrusive_ptr<ExpressionContext>&
       _doingMerge(false),
       _memoryTracker{pExpCtx->allowDiskUse && !pExpCtx->inMongos,
                      maxMemoryUsageBytes ? *maxMemoryUsageBytes
-                                         : internalDocumentSourceGroupMaxMemoryBytes.load()},
+                                         : (size_t)internalDocumentSourceGroupMaxMemoryBytes.load()},
       _initialized(false),
       _groups(pExpCtx->getValueComparator().makeUnorderedValueMap<Accumulators>()),
       _spilled(false) {
-- 
2.31.1

