diff --git a/applications/test/pTraits/Make/files b/applications/test/pTraits/Make/files index 268e879af2..df4c770c13 100644 --- a/applications/test/pTraits/Make/files +++ b/applications/test/pTraits/Make/files @@ -1,2 +1,3 @@ -Test-pTraits.C +Test-pTraits.cxx + EXE = $(FOAM_USER_APPBIN)/Test-pTraits diff --git a/applications/test/pTraits/Test-pTraits.C b/applications/test/pTraits/Test-pTraits.cxx similarity index 100% rename from applications/test/pTraits/Test-pTraits.C rename to applications/test/pTraits/Test-pTraits.cxx diff --git a/src/OpenFOAM/primitives/ints/int64/int64.H b/src/OpenFOAM/primitives/ints/int64/int64.H index e88716e14a..33478848b0 100644 --- a/src/OpenFOAM/primitives/ints/int64/int64.H +++ b/src/OpenFOAM/primitives/ints/int64/int64.H @@ -126,7 +126,7 @@ Ostream& operator<<(Ostream& os, const int64_t val); // On Darwin: // long is not unambiguously (int32_t | int64_t) // - explicitly resolve for input and output -#if defined(__APPLE__) +#ifdef __APPLE__ Istream& operator>>(Istream& is, long& val); Ostream& operator<<(Ostream& os, const long val); #endif @@ -196,6 +196,11 @@ public: }; +#ifdef __APPLE__ +//- On Darwin: long is not unambiguously (int64_t) +template<> class pTraits : pTraits {}; +#endif + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/OpenFOAM/primitives/ints/int64/int64IO.C b/src/OpenFOAM/primitives/ints/int64/int64IO.C index 93f73585ce..ed4136d7f5 100644 --- a/src/OpenFOAM/primitives/ints/int64/int64IO.C +++ b/src/OpenFOAM/primitives/ints/int64/int64IO.C @@ -182,7 +182,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const int64_t val) } -#if defined(__APPLE__) +#ifdef __APPLE__ Foam::Istream& Foam::operator>>(Istream& is, long& val) { return operator>>(is, reinterpret_cast(val)); diff --git a/src/OpenFOAM/primitives/ints/uint64/uint64.H b/src/OpenFOAM/primitives/ints/uint64/uint64.H index 3c352e4148..6caac03855 100644 --- a/src/OpenFOAM/primitives/ints/uint64/uint64.H +++ b/src/OpenFOAM/primitives/ints/uint64/uint64.H @@ -186,6 +186,11 @@ public: }; +#ifdef __APPLE__ +//- On Darwin: unsigned long is not unambiguously (uint64_t) +template<> class pTraits : pTraits {}; +#endif + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam