Commit 7325ebc9 authored by Victor Zverovich's avatar Victor Zverovich

Fix the warning about long long on older gcc.

parent 245faa74
...@@ -83,6 +83,14 @@ ...@@ -83,6 +83,14 @@
namespace fmt { namespace fmt {
// Fix the warning about long long on older versions of GCC
// that don't support the diagnostic pragma.
#ifdef __GNUC__
__extension__ typedef long long LongLong;
#else
typedef long long LongLong;
#endif
namespace internal { namespace internal {
#if _SECURE_SCL #if _SECURE_SCL
...@@ -233,7 +241,7 @@ template <> ...@@ -233,7 +241,7 @@ template <>
struct IntTraits<long> : SignedIntTraits<long, unsigned long> {}; struct IntTraits<long> : SignedIntTraits<long, unsigned long> {};
template <> template <>
struct IntTraits<long long> : SignedIntTraits<long long, unsigned long long> {}; struct IntTraits<LongLong> : SignedIntTraits<LongLong, unsigned long long> {};
template <typename T> template <typename T>
struct IsLongDouble { enum {VALUE = 0}; }; struct IsLongDouble { enum {VALUE = 0}; };
...@@ -533,7 +541,7 @@ DEFINE_INT_FORMATTERS(int) ...@@ -533,7 +541,7 @@ DEFINE_INT_FORMATTERS(int)
DEFINE_INT_FORMATTERS(long) DEFINE_INT_FORMATTERS(long)
DEFINE_INT_FORMATTERS(unsigned) DEFINE_INT_FORMATTERS(unsigned)
DEFINE_INT_FORMATTERS(unsigned long) DEFINE_INT_FORMATTERS(unsigned long)
DEFINE_INT_FORMATTERS(long long) DEFINE_INT_FORMATTERS(LongLong)
DEFINE_INT_FORMATTERS(unsigned long long) DEFINE_INT_FORMATTERS(unsigned long long)
/** /**
...@@ -717,8 +725,8 @@ class BasicWriter { ...@@ -717,8 +725,8 @@ class BasicWriter {
BasicWriter &operator<<(unsigned long value) { BasicWriter &operator<<(unsigned long value) {
return *this << IntFormatSpec<unsigned long>(value); return *this << IntFormatSpec<unsigned long>(value);
} }
BasicWriter &operator<<(long long value) { BasicWriter &operator<<(LongLong value) {
return *this << IntFormatSpec<long long>(value); return *this << IntFormatSpec<LongLong>(value);
} }
/** /**
...@@ -975,7 +983,7 @@ class BasicFormatter { ...@@ -975,7 +983,7 @@ class BasicFormatter {
double double_value; double double_value;
long long_value; long long_value;
unsigned long ulong_value; unsigned long ulong_value;
long long long_long_value; LongLong long_long_value;
unsigned long long ulong_long_value; unsigned long long ulong_long_value;
long double long_double_value; long double long_double_value;
const void *pointer_value; const void *pointer_value;
...@@ -990,7 +998,7 @@ class BasicFormatter { ...@@ -990,7 +998,7 @@ class BasicFormatter {
Arg(unsigned value) : type(UINT), uint_value(value), formatter(0) {} Arg(unsigned value) : type(UINT), uint_value(value), formatter(0) {}
Arg(long value) : type(LONG), long_value(value), formatter(0) {} Arg(long value) : type(LONG), long_value(value), formatter(0) {}
Arg(unsigned long value) : type(ULONG), ulong_value(value), formatter(0) {} Arg(unsigned long value) : type(ULONG), ulong_value(value), formatter(0) {}
Arg(long long value) Arg(LongLong value)
: type(LONG_LONG), long_long_value(value), formatter(0) {} : type(LONG_LONG), long_long_value(value), formatter(0) {}
Arg(unsigned long long value) Arg(unsigned long long value)
: type(ULONG_LONG), ulong_long_value(value), formatter(0) {} : type(ULONG_LONG), ulong_long_value(value), formatter(0) {}
...@@ -1311,7 +1319,7 @@ class FormatInt { ...@@ -1311,7 +1319,7 @@ class FormatInt {
return buffer_end; return buffer_end;
} }
void FormatSigned(long long value) { void FormatSigned(LongLong value) {
unsigned long long abs_value = value; unsigned long long abs_value = value;
bool negative = value < 0; bool negative = value < 0;
if (negative) if (negative)
...@@ -1324,7 +1332,7 @@ class FormatInt { ...@@ -1324,7 +1332,7 @@ class FormatInt {
public: public:
explicit FormatInt(int value) { FormatSigned(value); } explicit FormatInt(int value) { FormatSigned(value); }
explicit FormatInt(long value) { FormatSigned(value); } explicit FormatInt(long value) { FormatSigned(value); }
explicit FormatInt(long long value) { FormatSigned(value); } explicit FormatInt(LongLong value) { FormatSigned(value); }
explicit FormatInt(unsigned value) : str_(FormatDecimal(value)) {} explicit FormatInt(unsigned value) : str_(FormatDecimal(value)) {}
explicit FormatInt(unsigned long value) : str_(FormatDecimal(value)) {} explicit FormatInt(unsigned long value) : str_(FormatDecimal(value)) {}
explicit FormatInt(unsigned long long value) : str_(FormatDecimal(value)) {} explicit FormatInt(unsigned long long value) : str_(FormatDecimal(value)) {}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment