From: Jordan Rose Date: Thu, 23 Jan 2014 03:59:01 +0000 (+0000) Subject: [analyzer] Future-proof MallocChecker CFG dumping. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=69fb008cb11e4dedd92f6abf60fbdecfea4ab0bf;p=clang [analyzer] Future-proof MallocChecker CFG dumping. Now we'll get a warning if we miss a case. Refinement of r199800. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199868 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/StaticAnalyzer/Checkers/MallocChecker.cpp b/lib/StaticAnalyzer/Checkers/MallocChecker.cpp index 188974391c..e7edc20ac3 100644 --- a/lib/StaticAnalyzer/Checkers/MallocChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/MallocChecker.cpp @@ -100,13 +100,13 @@ public: } void dump(raw_ostream &OS) const { - static const char *const Table[] = { - "Allocated", - "Released", - "Relinquished", - "Escaped" - }; - OS << Table[(unsigned) K]; + switch (static_cast(K)) { +#define CASE(ID) case ID: OS << #ID; break; + CASE(Allocated) + CASE(Released) + CASE(Relinquished) + CASE(Escaped) + } } LLVM_DUMP_METHOD void dump() const { dump(llvm::errs()); }