avoids clash with the max() macro on Windows
This commit is contained in:
parent
c306ef2e14
commit
2d3543f81d
@ -51,6 +51,7 @@
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#include <float.h>
|
||||
#include <string.h>
|
||||
#include <iomanip>
|
||||
#include <limits>
|
||||
@ -294,6 +295,9 @@ class FloatingPoint {
|
||||
return ReinterpretBits(kExponentBitMask);
|
||||
}
|
||||
|
||||
// Returns the maximum representable finite floating-point number.
|
||||
static RawType Max();
|
||||
|
||||
// Non-static methods
|
||||
|
||||
// Returns the bits that represents this number.
|
||||
@ -374,6 +378,13 @@ class FloatingPoint {
|
||||
FloatingPointUnion u_;
|
||||
};
|
||||
|
||||
// We cannot use std::numeric_limits<T>::max() as it clashes with the max()
|
||||
// macro defined by <windows.h>.
|
||||
template <>
|
||||
inline float FloatingPoint<float>::Max() { return FLT_MAX; }
|
||||
template <>
|
||||
inline double FloatingPoint<double>::Max() { return DBL_MAX; }
|
||||
|
||||
// Typedefs the instances of the FloatingPoint template class that we
|
||||
// care to use.
|
||||
typedef FloatingPoint<float> Float;
|
||||
|
@ -45,7 +45,6 @@ using testing::internal::AlwaysTrue;
|
||||
# else
|
||||
# include <unistd.h>
|
||||
# include <sys/wait.h> // For waitpid.
|
||||
# include <limits> // For std::numeric_limits.
|
||||
# endif // GTEST_OS_WINDOWS
|
||||
|
||||
# include <limits.h>
|
||||
@ -1123,17 +1122,16 @@ TEST(AutoHandleTest, AutoHandleWorks) {
|
||||
# if GTEST_OS_WINDOWS
|
||||
typedef unsigned __int64 BiggestParsable;
|
||||
typedef signed __int64 BiggestSignedParsable;
|
||||
const BiggestParsable kBiggestParsableMax = ULLONG_MAX;
|
||||
const BiggestSignedParsable kBiggestSignedParsableMax = LLONG_MAX;
|
||||
# else
|
||||
typedef unsigned long long BiggestParsable;
|
||||
typedef signed long long BiggestSignedParsable;
|
||||
const BiggestParsable kBiggestParsableMax =
|
||||
::std::numeric_limits<BiggestParsable>::max();
|
||||
const BiggestSignedParsable kBiggestSignedParsableMax =
|
||||
::std::numeric_limits<BiggestSignedParsable>::max();
|
||||
# endif // GTEST_OS_WINDOWS
|
||||
|
||||
// We cannot use std::numeric_limits<T>::max() as it clashes with the
|
||||
// max() macro defined by <windows.h>.
|
||||
const BiggestParsable kBiggestParsableMax = ULLONG_MAX;
|
||||
const BiggestSignedParsable kBiggestSignedParsableMax = LLONG_MAX;
|
||||
|
||||
TEST(ParseNaturalNumberTest, RejectsInvalidFormat) {
|
||||
BiggestParsable result = 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user