Commit fd0282f2 authored by Mark Olesen's avatar Mark Olesen

COMP: erroneous double definition for long IO on windows (#1360, #1238)

- mingw uses 32-bit long regardless of -m32 or -m64 setting
parent d6a6576a
...@@ -119,10 +119,10 @@ inline bool read(const std::string& str, int64_t& val) ...@@ -119,10 +119,10 @@ inline bool read(const std::string& str, int64_t& val)
Istream& operator>>(Istream& is, int64_t& val); Istream& operator>>(Istream& is, int64_t& val);
Ostream& operator<<(Ostream& os, const int64_t val); Ostream& operator<<(Ostream& os, const int64_t val);
// On Darwin and Windows (mingw): // On Darwin:
// long is not unambiguously (int32_t | int64_t) // long is not unambiguously (int32_t | int64_t)
// - explicitly resolve for input and output // - explicitly resolve for input and output
#if defined(__APPLE__) || defined(_WIN32) #if defined(__APPLE__)
Istream& operator>>(Istream& is, long& val); Istream& operator>>(Istream& is, long& val);
Ostream& operator<<(Ostream& os, const long val); Ostream& operator<<(Ostream& os, const long val);
#endif #endif
......
...@@ -125,7 +125,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const int64_t val) ...@@ -125,7 +125,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const int64_t val)
} }
#if defined(__APPLE__) || defined(_WIN32) #if defined(__APPLE__)
Foam::Istream& Foam::operator>>(Istream& is, long& val) Foam::Istream& Foam::operator>>(Istream& is, long& val)
{ {
return operator>>(is, reinterpret_cast<int64_t&>(val)); return operator>>(is, reinterpret_cast<int64_t&>(val));
......
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