diff --git a/tools/windows/build_examples.bat b/tools/windows/build_examples.bat index 3bbcccb06b8aa92cf54c0fe18547e06b2e461115..c431faebcd29d7b1a1aaeaa77558b948fc3454f0 100644 --- a/tools/windows/build_examples.bat +++ b/tools/windows/build_examples.bat @@ -12,9 +12,6 @@ REM Set up SRC, BUILD and CLFLAGS call %HEREPATH%\env.bat call %HEREPATH%\clvars.bat -REM type conversion of a return value -set CLFLAGS=%CLFLAGS% -wd4242 - echo SRC=%SRC%, BUILD=%BUILD% echo CLFLAGS=%CLFLAGS% diff --git a/tools/windows/clvars.bat b/tools/windows/clvars.bat index ba5490067b7842e3bf36071da3ec0a3096ed7a76..8e29226871988207083b61197b5efea11c1ebb69 100644 --- a/tools/windows/clvars.bat +++ b/tools/windows/clvars.bat @@ -4,11 +4,25 @@ REM Exports CLFLAGS REM Start with the most strict warning level set WARNINGS=-W4 -Wall -WX +REM c4457 (declaration shadowing function parameter) +REM FIXME(windows) TODO(uucidl): remove occurence of c4457 and reactivate +REM FIXME(windows) TODO(uucidl): remove occurence of c4456 and reactivate +REM see -Wshadow +set WARNINGS=%WARNINGS% -wd4457 -wd4456 + +REM c4701 (potentially unitialized local variable) +REM FIXME(windows) TODO(uucidl): remove occurence of c4701 if possible +set WARNINGS=%WARNINGS% -wd4701 + REM We disable implicit casting warnings (c4244), as they occur too often here. REM Its gcc/clang counterpart is Wconversion which does not seem to REM be enabled by default. REM See: [[https://gcc.gnu.org/wiki/NewWconversion#Frequently_Asked_Questions]] -set WARNINGS=%WARNINGS% -wd4244 +REM +REM Likewise for c4242 (conversion with potential loss of data) and c4267 +REM (conversion away from size_t to a smaller type) and c4245 (conversion +REM from int to size_t signed/unsigned mismatch) +set WARNINGS=%WARNINGS% -wd4242 -wd4244 -wd4245 -wd4267 REM c4100 (unreferenced formal parameter) is equivalent to -Wno-unused-parameter set WARNINGS=%WARNINGS% -wd4100 @@ -19,11 +33,13 @@ set WARNINGS=%WARNINGS% -wd4200 REM c4204 (non-constant aggregate initializers) ressembles C99 support set WARNINGS=%WARNINGS% -wd4204 -REM c4201 (anonymous unions) ressembles C11 support +REM c4201 (anonymous unions) ressembles C11 support. +REM see -std=gnu99 vs -std=c99 set WARNINGS=%WARNINGS% -wd4201 -REM c4820 (warnings about padding) is not useful -set WARNINGS=%WARNINGS% -wd4820 +REM c4820 (warnings about padding) and c4324 (intentional padding) are +REM not useful +set WARNINGS=%WARNINGS% -wd4820 -wd4324 REM c4710 (inlining could not be performed) is not useful set WARNINGS=%WARNINGS% -wd4710 @@ -31,10 +47,13 @@ set WARNINGS=%WARNINGS% -wd4710 REM c4255 ( () vs (void) ambiguity) is not useful set WARNINGS=%WARNINGS% -wd4255 -REM c4996 (deprecated functions) -set WARNINGS=%WARNINGS% -wd4996 +REM c4127 (conditional expression is constant) is not useful +set WARNINGS=%WARNINGS% -wd4127 + +REM c4668 (an undefined symbol in a preprocessor directive) is not useful +set WARNINGS=%WARNINGS% -wd4668 -REM we use sprintf +REM we use sprintf so this should be enabled set DEFINES=-D_CRT_SECURE_NO_WARNINGS set CLFLAGS=-Od -Z7 %DEFINES% %WARNINGS% -Debug