diff options
author | Tad Marshall <tad@10gen.com> | 2012-12-12 13:32:43 -0500 |
---|---|---|
committer | Tad Marshall <tad@10gen.com> | 2012-12-12 14:01:43 -0500 |
commit | 60c93fff4d0a7fe75e4e8028fd95ea3a825d5b83 (patch) | |
tree | 9420735d6c247a1bd98eaa6debdd8ae88c7c7374 /src/mongo/base | |
parent | b949fb8d05f9a00b834f70a85b194e70a8c28eef (diff) | |
download | mongo-60c93fff4d0a7fe75e4e8028fd95ea3a825d5b83.tar.gz |
Use '#pragma warning' to suppress an MSVC warning
The Microsoft compiler issues a warning on code that is known at
compile time not to be part of the final code; suppress it.
Diffstat (limited to 'src/mongo/base')
-rw-r--r-- | src/mongo/base/parse_number.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/base/parse_number.cpp b/src/mongo/base/parse_number.cpp index 675c2d82e41..0ecb797670f 100644 --- a/src/mongo/base/parse_number.cpp +++ b/src/mongo/base/parse_number.cpp @@ -128,8 +128,14 @@ namespace mongo { NumberType digitValue = NumberType(_digitValue(str[i])); if (int(digitValue) >= base) return Status(ErrorCodes::FailedToParse, "Bad digit"); + +// MSVC: warning C4146: unary minus operator applied to unsigned type, result still unsigned +// This code is statically known to be dead when NumberType is unsigned, so the warning is not real +#pragma warning(push) +#pragma warning(disable:4146) if ((NumberType(limits::min() / base) > n) || ((limits::min() - NumberType(n * base)) > -digitValue)) { +#pragma warning(pop) return Status(ErrorCodes::FailedToParse, "Underflow"); } |