Cast to remove the narrowing conversion error in c++11.

llvm-svn: 173978
diff --git a/clang/lib/Basic/Diagnostic.cpp b/clang/lib/Basic/Diagnostic.cpp
index 1c8b372..1097980 100644
--- a/clang/lib/Basic/Diagnostic.cpp
+++ b/clang/lib/Basic/Diagnostic.cpp
@@ -744,8 +744,8 @@
         const char *Pipe = ScanFormat(Argument, Argument + ArgumentLen, '|');
         const char *FirstDollar = ScanFormat(Argument, Pipe, '$');
         const char *SecondDollar = ScanFormat(FirstDollar + 1, Pipe, '$');
-        const char ArgStr1[] = { '%', '0' + ArgNo };
-        const char ArgStr2[] = { '%', '0' + ArgNo2 };
+        const char ArgStr1[] = { '%', (char)('0' + ArgNo) };
+        const char ArgStr2[] = { '%', (char)('0' + ArgNo2) };
         FormatDiagnostic(Argument, FirstDollar, OutStr);
         FormatDiagnostic(ArgStr1, ArgStr1 + 2, OutStr);
         FormatDiagnostic(FirstDollar + 1, SecondDollar, OutStr);