summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/CXLoadedDiagnostic.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2012-04-12 00:03:31 +0000
committerTed Kremenek <kremenek@apple.com>2012-04-12 00:03:31 +0000
commit26a6d498ee5f2c3e592328128a9fb74db87531cc (patch)
tree2ecff96942e482a28bf26b771c22c258bab5b2ea /clang/tools/libclang/CXLoadedDiagnostic.cpp
parent5811fd6cc45d0af6fc7eb714fa60bf8f1ef5e75f (diff)
downloadbcm5719-llvm-26a6d498ee5f2c3e592328128a9fb74db87531cc.tar.gz
bcm5719-llvm-26a6d498ee5f2c3e592328128a9fb74db87531cc.zip
Implement clang_getDiagnosticCategoryText() to provide a way for a client of libclang to accurately
get the diagnostic category name from a serialized diagnostic when the version of libclang used to read the diagnostic file is newer than the clang that emitted the diagnostic file. llvm-svn: 154567
Diffstat (limited to 'clang/tools/libclang/CXLoadedDiagnostic.cpp')
-rw-r--r--clang/tools/libclang/CXLoadedDiagnostic.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/tools/libclang/CXLoadedDiagnostic.cpp b/clang/tools/libclang/CXLoadedDiagnostic.cpp
index d52c18319fa..e5b6ccc5b7e 100644
--- a/clang/tools/libclang/CXLoadedDiagnostic.cpp
+++ b/clang/tools/libclang/CXLoadedDiagnostic.cpp
@@ -119,6 +119,10 @@ unsigned CXLoadedDiagnostic::getCategory() const {
return category;
}
+CXString CXLoadedDiagnostic::getCategoryText() const {
+ return cxstring::createCXString(CategoryText);
+}
+
unsigned CXLoadedDiagnostic::getNumRanges() const {
return Ranges.size();
}
@@ -650,6 +654,7 @@ LoadResult DiagLoader::readDiagnosticBlock(llvm::BitstreamCursor &Stream,
D->category = Record[offset++];
unsigned diagFlag = Record[offset++];
D->DiagOption = diagFlag ? TopDiags.WarningFlags[diagFlag] : "";
+ D->CategoryText = D->category ? TopDiags.Categories[D->category] : "";
D->Spelling = TopDiags.makeString(BlobStart, BlobLen);
continue;
}
OpenPOWER on IntegriCloud