Skip to content
Snippets Groups Projects
Commit c0ab0673 authored by Nicolas Léveillé's avatar Nicolas Léveillé
Browse files

Deactivate compiler warnings from CL.EXE that fire in hammer

Some of them are completely spurious however some (marked FIXME(windows))
may benefit from being looked at.
parent 0c35525e
No related branches found
No related tags found
No related merge requests found
......@@ -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%
......
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment