Fix Cygwin build
authorRoland Schulz <roland@utk.edu>
Sun, 6 Jul 2014 04:40:14 +0000 (00:40 -0400)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Wed, 9 Jul 2014 04:54:36 +0000 (06:54 +0200)
Doesn't work with AVX but I suspect this to be Cygwin's/GCC's fault.

GCC Bug 61730

Change-Id: I171e8414a8d65800804226034604a9973770bfdd

cmake/gmxCFlags.cmake
cmake/gmxTestCXX11.cmake
src/gromacs/utility/cstringutil.h

index 5ed91032c47308aad74f812ab02e1008015be24c..64f10ced525823ccce41a625191a700d9a02b037 100644 (file)
@@ -112,6 +112,9 @@ MACRO(gmx_c_flags)
         GMX_TEST_CFLAG(CFLAGS_WARN_REL "-Wno-array-bounds" GMXC_CFLAGS_RELEASE_ONLY)
         # Since gcc 4.8 strict - false postives with old gmx_fatal. TODO: Remove in master
         GMX_TEST_CFLAG(CFLAGS_WARN_UNINIT "-Wno-maybe-uninitialized" GMXC_CFLAGS)
+        if(CYGWIN)
+            GMX_TEST_CFLAG(CFLAGS_WARN_SUBSCRIPT "-Wno-char-subscripts" GMXC_CFLAGS)
+        endif()
         # new in gcc 4.5
         GMX_TEST_CFLAG(CFLAGS_EXCESS_PREC "-fexcess-precision=fast" GMXC_CFLAGS_RELEASE)
         GMX_TEST_CFLAG(CFLAGS_COPT "-fomit-frame-pointer -funroll-all-loops"
index fdcc07f591bd822a53a584eec73440d44df4c2ef..eaa8888e48adaac75fec32ac6e292130000ceccb 100644 (file)
@@ -1,7 +1,7 @@
 #
 # This file is part of the GROMACS molecular simulation package.
 #
-# Copyright (c) 2012,2013, by the GROMACS development team, led by
+# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
 # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
 # and including many others, as listed in the AUTHORS file in the
 # top-level source directory and at http://www.gromacs.org.
 
 include(CheckCXXSourceCompiles)
 MACRO(GMX_TEST_CXX11 VARIABLE FLAG)
-    if(NOT WIN32)
-        set(CXX11_FLAG "-std=c++0x")
-    else()
+    if(WIN32)
         set(CXX11_FLAG "/Qstd=c++0x")
+    elseif(CYGWIN)
+        set(CXX11_FLAG "-std=gnu++0x") #required for strdup
+    else()
+        set(CXX11_FLAG "-std=c++0x")
     endif()
     CHECK_CXX_COMPILER_FLAG("${CXX11_FLAG}" CXXFLAG_STD_CXX0X)
     if(NOT CXXFLAG_STD_CXX0X)
index 6d8f94b4e7472dc27b5d5703360aa278437f75b0..8cba1a370ba72e093654ecad493318788812a77b 100644 (file)
 
 #include "gmx_header_config.h"
 
-/* Suppress Cygwin compiler warnings from using newlib version of
- * ctype.h */
-#ifdef GMX_CYGWIN
-#include <ctype.h>
-
-#undef isdigit
-#undef isstring
-#undef isspace
-#undef isalnum
-#undef isalpha
-#undef ispunct
-#undef isxdigit
-#undef isupper
-#undef islower
-#undef toupper
-#undef tolower
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif