namespace ento {
namespace categories {
extern const char *CoreFoundationObjectiveC;
- extern const char *LogicError;
extern const char *MemoryCoreFoundationObjectiveC;
extern const char *UnixAPI;
}
#define LLVM_CLANG_ANALYSIS_BUGTYPE
#include "clang/Basic/LLVM.h"
-#include "clang/StaticAnalyzer/Checkers/CommonBugCategories.h"
#include "llvm/ADT/FoldingSet.h"
#include <string>
const std::string desc;
public:
BuiltinBug(const char *name, const char *description)
- : BugType(name, categories::LogicError), desc(description) {}
+ : BugType(name, "Logic error"), desc(description) {}
BuiltinBug(const char *name)
- : BugType(name, categories::LogicError), desc(name) {}
+ : BugType(name, "Logic error"), desc(name) {}
StringRef getDescription() const { return desc; }
};
return NULL;
if (!BT_Null)
- BT_Null.reset(new BuiltinBug(categories::UnixAPI,
+ BT_Null.reset(new BuiltinBug("Unix API",
"Null pointer argument in call to byte string function"));
SmallString<80> buf;
return;
if (!BT_Overlap)
- BT_Overlap.reset(new BugType(categories::UnixAPI, "Improper arguments"));
+ BT_Overlap.reset(new BugType("Unix API", "Improper arguments"));
// Generate a report for this bug.
BugReport *report =
if (ExplodedNode *N = C.addTransition(state)) {
if (!BT_NotCString)
- BT_NotCString.reset(new BuiltinBug(categories::UnixAPI,
+ BT_NotCString.reset(new BuiltinBug("Unix API",
"Argument is not a null-terminated string."));
SmallString<120> buf;
if (ExplodedNode *N = C.addTransition(state)) {
if (!BT_NotCString)
- BT_NotCString.reset(new BuiltinBug(categories::UnixAPI,
+ BT_NotCString.reset(new BuiltinBug("Unix API",
"Argument is not a null-terminated string."));
SmallString<120> buf;
PathDiagnosticLocation::createBegin(E, BR.getSourceManager(), AC);
BR.EmitBasicReport(AC->getDecl(),
"Potential unintended use of sizeof() on pointer type",
- categories::LogicError,
+ "Logic",
"The code calls sizeof() on a pointer type. "
"This can produce an unexpected result.",
ELoc, &R, 1);
namespace clang { namespace ento { namespace categories {
const char *CoreFoundationObjectiveC = "Core Foundation/Objective-C";
-const char *LogicError = "Logic error";
const char *MemoryCoreFoundationObjectiveC =
"Memory (Core Foundation/Objective-C)";
const char *UnixAPI = "Unix API";