From e28b2a47c56b84bb453b019cc7928cffdd411753 Mon Sep 17 00:00:00 2001 From: Roland Schulz Date: Fri, 7 Mar 2014 03:38:35 -0500 Subject: [PATCH] Don't disable MSVC warnings in config.h All other warning flags are passed as compiler flags, thus this was inconsistent. Also didn't work correctly if source file doesn't include config.h. Also makes ICC warning flags consistent between Linux and Windows. Change-Id: Ic52f6eb3c2dc5751b8aac1bba836ad5ff7d7c3cf --- cmake/gmxCFlags.cmake | 27 +++++++++++++++++++-------- src/config.h.cmakein | 10 ---------- src/gromacs/fileio/futil.cpp | 5 ++--- src/gromacs/gmxlib/smalloc.c | 2 +- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/cmake/gmxCFlags.cmake b/cmake/gmxCFlags.cmake index aefd42a15e..02c87bf178 100644 --- a/cmake/gmxCFlags.cmake +++ b/cmake/gmxCFlags.cmake @@ -133,27 +133,33 @@ MACRO(gmx_c_flags) if (CMAKE_C_COMPILER_ID MATCHES "Intel") if (NOT WIN32) if(NOT GMX_OPENMP) - GMX_TEST_CFLAG(CFLAGS_PRAGMA "-Wno-unknown-pragmas" GMXC_CFLAGS) + GMX_TEST_CFLAG(CFLAGS_PRAGMA "-wd161" GMXC_CFLAGS) endif() GMX_TEST_CFLAG(CFLAGS_WARN "-w3 -wd111 -wd177 -wd181 -wd193 -wd271 -wd304 -wd383 -wd424 -wd444 -wd522 -wd593 -wd869 -wd981 -wd1418 -wd1419 -wd1572 -wd1599 -wd2259 -wd2415 -wd2547 -wd2557 -wd3280 -wd3346" GMXC_CFLAGS) GMX_TEST_CFLAG(CFLAGS_STDGNU "-std=gnu99" GMXC_CFLAGS) GMX_TEST_CFLAG(CFLAGS_OPT "-ip -funroll-all-loops -alias-const -ansi-alias" GMXC_CFLAGS_RELEASE) else() - GMX_TEST_CFLAG(CFLAGS_WARN "/W2" GMXC_CFLAGS) - GMX_TEST_CFLAG(CFLAGS_X86 "/Qip" GMXC_CFLAGS_RELEASE) + if(NOT GMX_OPENMP) + GMX_TEST_CFLAG(CFLAGS_PRAGMA "/wd161" GMXC_CFLAGS) + endif() + GMX_TEST_CFLAG(CFLAGS_WARN "/W3 /wd111 /wd177 /wd181 /wd193 /wd271 /wd304 /wd383 /wd424 /wd444 /wd522 /wd593 /wd869 /wd981 /wd1418 /wd1419 /wd1572 /wd1599 /wd2259 /wd2415 /wd2547 /wd2557 /wd3280 /wd3346" GMXC_CFLAGS) + GMX_TEST_CFLAG(CFLAGS_OPT "/Qip" GMXC_CFLAGS_RELEASE) endif() endif() if (CMAKE_CXX_COMPILER_ID MATCHES "Intel") if (NOT WIN32) if(NOT GMX_OPENMP) - GMX_TEST_CXXFLAG(CXXFLAGS_PRAGMA "-Wno-unknown-pragmas" GMXC_CXXFLAGS) + GMX_TEST_CXXFLAG(CXXFLAGS_PRAGMA "-wd161" GMXC_CXXFLAGS) endif() GMX_TEST_CXXFLAG(CXXFLAGS_WARN "-w3 -wd111 -wd177 -wd181 -wd193 -wd271 -wd304 -wd383 -wd424 -wd444 -wd522 -wd593 -wd869 -wd981 -wd1418 -wd1419 -wd1572 -wd1599 -wd2259 -wd2415 -wd2547 -wd2557 -wd3280 -wd3346 -wd1782" GMXC_CXXFLAGS) GMX_TEST_CXXFLAG(CXXFLAGS_OPT "-ip -funroll-all-loops -alias-const -ansi-alias" GMXC_CXXFLAGS_RELEASE) else() - GMX_TEST_CXXFLAG(CXXFLAGS_WARN "/W2" GMXC_CXXFLAGS) - GMX_TEST_CXXFLAG(CXXFLAGS_X86 "/Qip" GMXC_CXXFLAGS_RELEASE) + if(NOT GMX_OPENMP) + GMX_TEST_CXXFLAG(CXXFLAGS_PRAGMA "/wd161" GMXC_CXXFLAGS) + endif() + GMX_TEST_CXXFLAG(CXXFLAGS_WARN "/W3 /wd111 /wd177 /wd181 /wd193 /wd271 /wd304 /wd383 /wd424 /wd444 /wd522 /wd593 /wd869 /wd981 /wd1418 /wd1419 /wd1572 /wd1599 /wd2259 /wd2415 /wd2547 /wd2557 /wd3280 /wd3346 /wd1782" GMXC_CXXFLAGS) + GMX_TEST_CXXFLAG(CXXFLAGS_OPT "/Qip" GMXC_CXXFLAGS_RELEASE) endif() endif() @@ -199,8 +205,13 @@ MACRO(gmx_c_flags) # forcing value to bool # "this" in initializer list # deprecated (posix, secure) functions - GMX_TEST_CFLAG(CFLAGS_WARN "/wd4800 /wd4355 /wd4996" GMXC_CFLAGS) - GMX_TEST_CXXFLAG(CXXFLAGS_WARN "/wd4800 /wd4355 /wd4996" GMXC_CXXFLAGS) + # truncation (double -> float) + # conversion from 'double' to 'real', possible loss of data + # unreferenced local variable (only C) + # conversion from 'size_t' to 'int', possible loss of data + # conversion from 'const char*' to 'void*', different 'const' qualifiers (only C) + GMX_TEST_CFLAG(CFLAGS_WARN "/wd4800 /wd4355 /wd4996 /wd4305 /wd4244 /wd4101 /wd4267 /wd4090" GMXC_CFLAGS) + GMX_TEST_CXXFLAG(CXXFLAGS_WARN "/wd4800 /wd4355 /wd4996 /wd4305 /wd4244 /wd4267" GMXC_CXXFLAGS) endif() if (CMAKE_C_COMPILER_ID MATCHES "Clang") diff --git a/src/config.h.cmakein b/src/config.h.cmakein index 453933d4fc..1b03b16747 100644 --- a/src/config.h.cmakein +++ b/src/config.h.cmakein @@ -46,16 +46,6 @@ /* TODO: For now, disable Doxygen warnings from here */ /*! \cond */ -/* Disable warnings about double-to-float conversion accuracy loss on MSVC */ -#ifdef _MSC_VER -#pragma warning (disable : 4305) -#pragma warning (disable : 4244) -#pragma warning (disable : 4101) -#pragma warning (disable : 4996) -#pragma warning (disable : 4267) -#pragma warning (disable : 4090) -#endif - /* Version number of package (translate from cmake to autoconf macro name) */ #define VERSION "@PROJECT_VERSION@" diff --git a/src/gromacs/fileio/futil.cpp b/src/gromacs/fileio/futil.cpp index bd435ec2bb..2c54809dcb 100644 --- a/src/gromacs/fileio/futil.cpp +++ b/src/gromacs/fileio/futil.cpp @@ -585,7 +585,6 @@ gmx_directory_open(gmx_directory_t *p_gmxdir, const char *dirname) if (dirname != NULL && strlen(dirname) > 0) { char * tmpname; - size_t namelength; int len; len = strlen(dirname); @@ -827,7 +826,7 @@ FILE *libopen(const char *file) void gmx_tmpnam(char *buf) { - int i, len, fd; + int i, len; if ((len = strlen(buf)) < 7) { @@ -844,7 +843,7 @@ void gmx_tmpnam(char *buf) #ifdef GMX_NATIVE_WINDOWS _mktemp(buf); #else - fd = mkstemp(buf); + int fd = mkstemp(buf); switch (fd) { diff --git a/src/gromacs/gmxlib/smalloc.c b/src/gromacs/gmxlib/smalloc.c index 06800ba1b2..cd74825483 100644 --- a/src/gromacs/gmxlib/smalloc.c +++ b/src/gromacs/gmxlib/smalloc.c @@ -232,7 +232,7 @@ void *save_realloc(const char *name, const char *file, int line, void *ptr, return p; } -void save_free(const char gmx_unused *name, const char gmx_unused *file, int gmx_unused line, void gmx_unused *ptr) +void save_free(const char gmx_unused *name, const char gmx_unused *file, int gmx_unused line, void *ptr) { #ifdef DEBUG log_action(0, name, file, line, 0, 0, ptr); -- 2.11.4.GIT