diff --git a/eng/native/configurecompiler.cmake b/eng/native/configurecompiler.cmake index a3ed8cefb45d72..f0eb8c9b4747ee 100644 --- a/eng/native/configurecompiler.cmake +++ b/eng/native/configurecompiler.cmake @@ -822,12 +822,12 @@ if (MSVC) set_property(GLOBAL PROPERTY MSVC_WARNING_LEVEL 4) add_compile_options($<$:/W$>) add_compile_options($<$:/WX>) # treat warnings as errors + add_compile_options($<$:/sdl>) # enable additional security checks add_compile_options($<$:/Oi>) # enable intrinsics add_compile_options($<$:/Oy->) # disable suppressing of the creation of frame pointers on the call stack for quicker function calls add_compile_options($<$:/Gm->) # disable minimal rebuild add_compile_options($<$:/Zp8>) # pack structs on 8-byte boundary add_compile_options($<$:/Gy>) # separate functions for linker - add_compile_options($<$:/GS>) # Explicitly enable the buffer security checks add_compile_options($<$:/fp:precise>) # Enable precise floating point # Disable C++ RTTI @@ -881,29 +881,6 @@ if (MSVC) add_compile_options($<$:/we4640>) # 'instance' : construction of local static object is not thread-safe add_compile_options($<$:/we4806>) # Unsafe operation involving type 'bool'. - # SDL requires the below warnings to be treated as errors: - # More info: https://liquid.microsoft.com/Web/Object/Read/ms.security/Requirements/Microsoft.Security.SystemsADM.10086 - # (Access to that URL restricted to Microsoft employees.) - add_compile_options($<$:/we4055>) # 'conversion' : from data pointer 'type1' to function pointer 'type2' - add_compile_options($<$:/we4146>) # unary minus operator applied to unsigned type, result still unsigned - add_compile_options($<$:/we4242>) # 'identifier' : conversion from 'type1' to 'type2', possible loss of data - add_compile_options($<$:/we4244>) # 'conversion' conversion from 'type1' to 'type2', possible loss of data - add_compile_options($<$:/we4267>) # 'var' : conversion from 'size_t' to 'type', possible loss of data - add_compile_options($<$:/we4302>) # 'conversion' : truncation from 'type 1' to 'type 2' - add_compile_options($<$:/we4308>) # negative integral constant converted to unsigned type - add_compile_options($<$:/we4509>) # nonstandard extension used: 'function' uses SEH and 'object' has destructor - add_compile_options($<$:/we4510>) # 'class' : default constructor could not be generated - add_compile_options($<$:/we4532>) # 'continue' : jump out of __finally/finally block has undefined behavior during termination handling - add_compile_options($<$:/we4533>) # initialization of 'variable' is skipped by 'instruction' - add_compile_options($<$:/we4610>) # object 'class' can never be instantiated - user-defined constructor required - add_compile_options($<$:/we4611>) # interaction between 'function' and C++ object destruction is non-portable - add_compile_options($<$:/we4700>) # uninitialized local variable 'name' used - add_compile_options($<$:/we4701>) # Potentially uninitialized local variable 'name' used - add_compile_options($<$:/we4703>) # Potentially uninitialized local pointer variable 'name' used - add_compile_options($<$:/we4789>) # destination of memory copy is too small - add_compile_options($<$:/we4995>) # 'function': name was marked as #pragma deprecated - add_compile_options($<$:/we4996>) # 'function': was declared deprecated - # Set Warning Level 3: add_compile_options($<$:/w34092>) # Sizeof returns 'unsigned long'. add_compile_options($<$:/w34121>) # Structure is sensitive to alignment.