From 5b0ad235891027b8b6f6995a6f5d140d17a53744 Mon Sep 17 00:00:00 2001 From: Roland Schulz Date: Sun, 6 Jul 2014 00:40:14 -0400 Subject: [PATCH] Fix Cygwin build 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 | 3 +++ cmake/gmxTestCXX11.cmake | 10 ++++++---- src/gromacs/utility/cstringutil.h | 18 ------------------ 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/cmake/gmxCFlags.cmake b/cmake/gmxCFlags.cmake index 5ed91032c4..64f10ced52 100644 --- a/cmake/gmxCFlags.cmake +++ b/cmake/gmxCFlags.cmake @@ -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" diff --git a/cmake/gmxTestCXX11.cmake b/cmake/gmxTestCXX11.cmake index fdcc07f591..eaa8888e48 100644 --- a/cmake/gmxTestCXX11.cmake +++ b/cmake/gmxTestCXX11.cmake @@ -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. @@ -34,10 +34,12 @@ 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) diff --git a/src/gromacs/utility/cstringutil.h b/src/gromacs/utility/cstringutil.h index 6d8f94b4e7..8cba1a370b 100644 --- a/src/gromacs/utility/cstringutil.h +++ b/src/gromacs/utility/cstringutil.h @@ -50,24 +50,6 @@ #include "gmx_header_config.h" -/* Suppress Cygwin compiler warnings from using newlib version of - * ctype.h */ -#ifdef GMX_CYGWIN -#include - -#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 -- 2.22.0