Downgrade "err_init_list_variable_narrowing" into a warning in Microsoft mode even if c++0x is enabled. This necessary to parse MSVC code in C++0x mode.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137904 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp
index e410f2f..ee122ff 100644
--- a/lib/Sema/SemaInit.cpp
+++ b/lib/Sema/SemaInit.cpp
@@ -5145,7 +5145,7 @@
bool Constant, const APValue &ConstantValue) {
if (Constant) {
S.Diag(InitE->getLocStart(),
- S.getLangOptions().CPlusPlus0x
+ S.getLangOptions().CPlusPlus0x && !S.getLangOptions().Microsoft
? diag::err_init_list_constant_narrowing
: diag::warn_init_list_constant_narrowing)
<< InitE->getSourceRange()
@@ -5153,7 +5153,7 @@
<< EntityType;
} else
S.Diag(InitE->getLocStart(),
- S.getLangOptions().CPlusPlus0x
+ S.getLangOptions().CPlusPlus0x && !S.getLangOptions().Microsoft
? diag::err_init_list_variable_narrowing
: diag::warn_init_list_variable_narrowing)
<< InitE->getSourceRange()