Support compilation via MinGW
authorDavid Neto <dneto@google.com>
Mon, 29 Feb 2016 04:32:44 +0000 (23:32 -0500)
committerDavid Neto <dneto@google.com>
Wed, 16 Mar 2016 19:41:31 +0000 (15:41 -0400)
Change-Id: Ie52f0b1b2b20948c6f4b3cb5474537d36a5a3385

glslang/MachineIndependent/PoolAlloc.cpp
glslang/MachineIndependent/intermOut.cpp
glslang/OSDependent/Windows/CMakeLists.txt

index a41cadf..d56979b 100644 (file)
@@ -32,8 +32,8 @@
 //POSSIBILITY OF SUCH DAMAGE.
 //
 
-#include "../Include/PoolAlloc.h"
 #include "../Include/Common.h"
+#include "../Include/PoolAlloc.h"
 
 #include "../Include/InitializeGlobals.h"
 #include "../OSDependent/osinclude.h"
index b52551f..96b5c25 100644 (file)
@@ -48,7 +48,7 @@ namespace {
 bool is_positive_infinity(double x) {
 #ifdef _MSC_VER
   return _fpclass(x) == _FPCLASS_PINF;
-#elif defined __ANDROID__ || defined __linux__
+#elif defined __ANDROID__ || defined __linux__ || __MINGW32__ || __MINGW64__
   return std::isinf(x) && (x >= 0);
 #else
   return isinf(x) && (x >= 0);
index ff0b99e..9bc73a3 100644 (file)
@@ -4,6 +4,12 @@ set(SOURCES ossource.cpp ../osinclude.h)
 
 add_library(OSDependent STATIC ${SOURCES})
 
+# MinGW GCC complains about function pointer casts to void*.
+# Turn that off with -fpermissive.
+if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
+  target_compile_options(OSDependent PRIVATE -fpermissive)
+endif()
+
 if(WIN32)
     source_group("Source" FILES ${SOURCES})
 endif(WIN32)