diff --git a/modules/juce_core/maths/juce_MathsFunctions.h b/modules/juce_core/maths/juce_MathsFunctions.h index 2ea27ea479..0e83c7a7cd 100644 --- a/modules/juce_core/maths/juce_MathsFunctions.h +++ b/modules/juce_core/maths/juce_MathsFunctions.h @@ -376,7 +376,7 @@ bool juce_isfinite (NumericType) noexcept template <> inline bool juce_isfinite (float value) noexcept { - #if JUCE_WINDOWS + #if JUCE_WINDOWS && ! JUCE_MINGW return _finite (value) != 0; #else return std::isfinite (value); @@ -386,7 +386,7 @@ inline bool juce_isfinite (float value) noexcept template <> inline bool juce_isfinite (double value) noexcept { - #if JUCE_WINDOWS + #if JUCE_WINDOWS && ! JUCE_MINGW return _finite (value) != 0; #else return std::isfinite (value); diff --git a/modules/juce_core/native/juce_BasicNativeHeaders.h b/modules/juce_core/native/juce_BasicNativeHeaders.h index 9e0b1401bf..034f8518cc 100644 --- a/modules/juce_core/native/juce_BasicNativeHeaders.h +++ b/modules/juce_core/native/juce_BasicNativeHeaders.h @@ -113,6 +113,8 @@ #if JUCE_MINGW #include + #include + #define alloca __builtin_alloca #else #include #include diff --git a/modules/juce_core/system/juce_StandardHeader.h b/modules/juce_core/system/juce_StandardHeader.h index e20cefd0b4..af40d3fc0c 100644 --- a/modules/juce_core/system/juce_StandardHeader.h +++ b/modules/juce_core/system/juce_StandardHeader.h @@ -104,6 +104,10 @@ #pragma warning (pop) #endif +#if JUCE_MINGW + #include +#endif + #if JUCE_ANDROID #include #include diff --git a/modules/juce_core/time/juce_Time.cpp b/modules/juce_core/time/juce_Time.cpp index 4952139438..847b360afe 100644 --- a/modules/juce_core/time/juce_Time.cpp +++ b/modules/juce_core/time/juce_Time.cpp @@ -62,9 +62,11 @@ namespace TimeHelpers } else { - time_t now = static_cast (seconds); + time_t now = static_cast (seconds); - #if JUCE_WINDOWS + #if JUCE_WINDOWS && JUCE_MINGW + return *localtime (&now); + #elif JUCE_WINDOWS if (now >= 0 && now <= 0x793406fff) localtime_s (&result, &now); else @@ -190,7 +192,7 @@ Time& Time::operator= (const Time& other) noexcept //============================================================================== int64 Time::currentTimeMillis() noexcept { - #if JUCE_WINDOWS + #if JUCE_WINDOWS && ! JUCE_MINGW struct _timeb t; _ftime_s (&t); return ((int64) t.time) * 1000 + t.millitm;