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.
This commit is contained in:
parent
0c35525e30
commit
c0ab06736f
2 changed files with 26 additions and 10 deletions
|
|
@ -12,9 +12,6 @@ REM Set up SRC, BUILD and CLFLAGS
|
||||||
call %HEREPATH%\env.bat
|
call %HEREPATH%\env.bat
|
||||||
call %HEREPATH%\clvars.bat
|
call %HEREPATH%\clvars.bat
|
||||||
|
|
||||||
REM type conversion of a return value
|
|
||||||
set CLFLAGS=%CLFLAGS% -wd4242
|
|
||||||
|
|
||||||
echo SRC=%SRC%, BUILD=%BUILD%
|
echo SRC=%SRC%, BUILD=%BUILD%
|
||||||
echo CLFLAGS=%CLFLAGS%
|
echo CLFLAGS=%CLFLAGS%
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,25 @@ REM Exports CLFLAGS
|
||||||
REM Start with the most strict warning level
|
REM Start with the most strict warning level
|
||||||
set WARNINGS=-W4 -Wall -WX
|
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 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 Its gcc/clang counterpart is Wconversion which does not seem to
|
||||||
REM be enabled by default.
|
REM be enabled by default.
|
||||||
REM See: [[https://gcc.gnu.org/wiki/NewWconversion#Frequently_Asked_Questions]]
|
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
|
REM c4100 (unreferenced formal parameter) is equivalent to -Wno-unused-parameter
|
||||||
set WARNINGS=%WARNINGS% -wd4100
|
set WARNINGS=%WARNINGS% -wd4100
|
||||||
|
|
@ -19,11 +33,13 @@ set WARNINGS=%WARNINGS% -wd4200
|
||||||
REM c4204 (non-constant aggregate initializers) ressembles C99 support
|
REM c4204 (non-constant aggregate initializers) ressembles C99 support
|
||||||
set WARNINGS=%WARNINGS% -wd4204
|
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
|
set WARNINGS=%WARNINGS% -wd4201
|
||||||
|
|
||||||
REM c4820 (warnings about padding) is not useful
|
REM c4820 (warnings about padding) and c4324 (intentional padding) are
|
||||||
set WARNINGS=%WARNINGS% -wd4820
|
REM not useful
|
||||||
|
set WARNINGS=%WARNINGS% -wd4820 -wd4324
|
||||||
|
|
||||||
REM c4710 (inlining could not be performed) is not useful
|
REM c4710 (inlining could not be performed) is not useful
|
||||||
set WARNINGS=%WARNINGS% -wd4710
|
set WARNINGS=%WARNINGS% -wd4710
|
||||||
|
|
@ -31,10 +47,13 @@ set WARNINGS=%WARNINGS% -wd4710
|
||||||
REM c4255 ( () vs (void) ambiguity) is not useful
|
REM c4255 ( () vs (void) ambiguity) is not useful
|
||||||
set WARNINGS=%WARNINGS% -wd4255
|
set WARNINGS=%WARNINGS% -wd4255
|
||||||
|
|
||||||
REM c4996 (deprecated functions)
|
REM c4127 (conditional expression is constant) is not useful
|
||||||
set WARNINGS=%WARNINGS% -wd4996
|
set WARNINGS=%WARNINGS% -wd4127
|
||||||
|
|
||||||
REM we use sprintf
|
REM c4668 (an undefined symbol in a preprocessor directive) is not useful
|
||||||
|
set WARNINGS=%WARNINGS% -wd4668
|
||||||
|
|
||||||
|
REM we use sprintf so this should be enabled
|
||||||
set DEFINES=-D_CRT_SECURE_NO_WARNINGS
|
set DEFINES=-D_CRT_SECURE_NO_WARNINGS
|
||||||
|
|
||||||
set CLFLAGS=-Od -Z7 %DEFINES% %WARNINGS% -Debug
|
set CLFLAGS=-Od -Z7 %DEFINES% %WARNINGS% -Debug
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue