summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/DiagnosticIDs.cpp
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@google.com>2011-08-13 05:47:04 +0000
committerJeffrey Yasskin <jyasskin@google.com>2011-08-13 05:47:04 +0000
commit9a56e37927fdfdcac59a9a24ad5a73e15e37f989 (patch)
tree0cfb1f736034e3b67541865025c776e7a112f4e3 /clang/lib/Basic/DiagnosticIDs.cpp
parentd1de7764be8af9c2dccd44d404f0fb187c6d47f3 (diff)
downloadbcm5719-llvm-9a56e37927fdfdcac59a9a24ad5a73e15e37f989.tar.gz
bcm5719-llvm-9a56e37927fdfdcac59a9a24ad5a73e15e37f989.zip
Fix C++0x narrowing conversion errors in Clang.
llvm-svn: 137552
Diffstat (limited to 'clang/lib/Basic/DiagnosticIDs.cpp')
-rw-r--r--clang/lib/Basic/DiagnosticIDs.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Basic/DiagnosticIDs.cpp b/clang/lib/Basic/DiagnosticIDs.cpp
index 66b16a9ba1c..907e826a33c 100644
--- a/clang/lib/Basic/DiagnosticIDs.cpp
+++ b/clang/lib/Basic/DiagnosticIDs.cpp
@@ -166,7 +166,8 @@ static const StaticDiagInfoRec *GetDiagInfo(unsigned DiagID) {
#endif
// Search the diagnostic table with a binary search.
- StaticDiagInfoRec Find = { DiagID, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0,0 };
+ StaticDiagInfoRec Find = { static_cast<unsigned short>(DiagID),
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
const StaticDiagInfoRec *Found =
std::lower_bound(StaticDiagInfo, StaticDiagInfo + StaticDiagInfoSize, Find);
@@ -269,7 +270,10 @@ unsigned DiagnosticIDs::getIdFromName(StringRef Name) {
if (Name.empty()) { return diag::DIAG_UPPER_LIMIT; }
- StaticDiagNameIndexRec Find = { Name.data(), 0, Name.size() };
+ assert(Name.size() == static_cast<uint8_t>(Name.size()) &&
+ "Name is too long");
+ StaticDiagNameIndexRec Find = { Name.data(), 0,
+ static_cast<uint8_t>(Name.size()) };
const StaticDiagNameIndexRec *Found =
std::lower_bound( StaticDiagNameIndex, StaticDiagNameIndexEnd, Find);
OpenPOWER on IntegriCloud