r212385 - writeARCDiagsToPlist(): make sure all diag levels get handled
Alp Toker
alp at nuanti.com
Sat Jul 5 21:27:03 PDT 2014
Author: alp
Date: Sat Jul 5 23:27:03 2014
New Revision: 212385
URL: http://llvm.org/viewvc/llvm-project?rev=212385&view=rev
Log:
writeARCDiagsToPlist(): make sure all diag levels get handled
Handle 'remark' level diagnostics as warnings instead of supplemental notes,
and use a covered switch to ensure the mapping is kept up to date.
Modified:
cfe/trunk/lib/ARCMigrate/PlistReporter.cpp
Modified: cfe/trunk/lib/ARCMigrate/PlistReporter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/PlistReporter.cpp?rev=212385&r1=212384&r2=212385&view=diff
==============================================================================
--- cfe/trunk/lib/ARCMigrate/PlistReporter.cpp (original)
+++ cfe/trunk/lib/ARCMigrate/PlistReporter.cpp Sat Jul 5 23:27:03 2014
@@ -16,6 +16,22 @@ using namespace clang;
using namespace arcmt;
using namespace markup;
+static StringRef getLevelName(DiagnosticsEngine::Level Level) {
+ switch (Level) {
+ case DiagnosticsEngine::Ignored:
+ llvm_unreachable("ignored");
+ case DiagnosticsEngine::Note:
+ return "note";
+ case DiagnosticsEngine::Remark:
+ case DiagnosticsEngine::Warning:
+ return "warning";
+ case DiagnosticsEngine::Fatal:
+ case DiagnosticsEngine::Error:
+ return "error";
+ }
+ llvm_unreachable("Invalid DiagnosticsEngine level!");
+}
+
void arcmt::writeARCDiagsToPlist(const std::string &outPath,
ArrayRef<StoredDiagnostic> diags,
SourceManager &SM,
@@ -84,12 +100,7 @@ void arcmt::writeARCDiagsToPlist(const s
EmitString(o, DiagIDs.getCategoryNameFromID(
DiagIDs.getCategoryNumberForDiag(D.getID()))) << '\n';
o << " <key>type</key>";
- if (D.getLevel() >= DiagnosticsEngine::Error)
- EmitString(o, "error") << '\n';
- else if (D.getLevel() == DiagnosticsEngine::Warning)
- EmitString(o, "warning") << '\n';
- else
- EmitString(o, "note") << '\n';
+ EmitString(o, getLevelName(D.getLevel())) << '\n';
// Output the location of the bug.
o << " <key>location</key>\n";
More information about the cfe-commits
mailing list