blob: a00e2c43047a253acdc269dc5765ec664e136c9d [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2018 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html -->
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- This file is used to set compiler Warning configurations that are common to *all* ICU library code (common, i18n, and io). -->
<!-- Note: These options are for *all* configurations for *all* library projects. -->
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<!--
We treat the following Warnings as Errors in the ICU library code, in order to catch/prevent
issues like ICU-20209, ICU-20157, ICU-13816 and others.
C4251 Need to DLL-Export template instantiations.
C4661 No suitable definition provided for explicit template instantiation request.
C4715 Not all control paths return a value.
C4706 Assignment within conditional expression.
C4005 Macro redifintion.
C4068 Unknown pragma.
C4267 Conversion from size_t to type, possible loss of data.
C4910 __declspec(dllexport) and extern are incompatible on an explicit instantiation.
C4003 Not enough parameters for macro.
-->
<TreatSpecificWarningsAsErrors>4251;4661;4715;4706;4005;4068;4267;4910;4003;%(TreatSpecificWarningsAsErrors)</TreatSpecificWarningsAsErrors>
</ClCompile>
</ItemDefinitionGroup>
</Project>