clang-cl: Emit narrowing diag for initializer lists if -fmsc-version is at least...
authorNico Weber <nicolasweber@gmx.de>
Tue, 19 Jun 2018 23:19:34 +0000 (23:19 +0000)
committerNico Weber <nicolasweber@gmx.de>
Tue, 19 Jun 2018 23:19:34 +0000 (23:19 +0000)
commit3d7f00d25bb56b13e4c39f4406e2efa8d9e7a886
tree86e32b00fd8d9b3c4a9a0694888a76f23e71acea
parent1f79297ebea4480f7ec594ae0d290984053ab9c8
clang-cl: Emit narrowing diag for initializer lists if -fmsc-version is at least 1900 (i.e. MSVC2015).

Diagnostics for narrowing conversions in initializer lists are currently
DefaultIgnored in Microsoft mode. But MSVC 2015 did add warnings about
narrowing conversions (C2397), so clang-cl can remove its special case code if
MSCompatibilityVersion is new enough.

(In MSVC, C2397 is just a warning and in clang it's default-mapped to an error,
but it can be remapped, and disabled with -Wno-c++11-narrowing, so that should
be fine.)

Fixes PR37314.
https://reviews.llvm.org/D48296

llvm-svn: 335082
clang/lib/Sema/SemaInit.cpp
clang/test/SemaCXX/ms-initlist-narrowing.cpp [new file with mode: 0644]