Temporarily revert r191910 until the layering violation can be fixed.

llvm-svn: 191936
This commit is contained in:
Richard Smith 2013-10-03 23:38:02 +00:00
parent db21c7bbb0
commit 25d8e737d8
5 changed files with 7 additions and 10 deletions

View File

@ -15,7 +15,6 @@ namespace clang {
namespace ento {
namespace categories {
extern const char *CoreFoundationObjectiveC;
extern const char *LogicError;
extern const char *MemoryCoreFoundationObjectiveC;
extern const char *UnixAPI;
}

View File

@ -15,7 +15,6 @@
#define LLVM_CLANG_ANALYSIS_BUGTYPE
#include "clang/Basic/LLVM.h"
#include "clang/StaticAnalyzer/Checkers/CommonBugCategories.h"
#include "llvm/ADT/FoldingSet.h"
#include <string>
@ -55,10 +54,10 @@ class BuiltinBug : public BugType {
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; }
};

View File

@ -231,7 +231,7 @@ ProgramStateRef CStringChecker::checkNonNull(CheckerContext &C,
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;
@ -525,7 +525,7 @@ void CStringChecker::emitOverlapBug(CheckerContext &C, ProgramStateRef state,
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 =
@ -702,7 +702,7 @@ SVal CStringChecker::getCStringLength(CheckerContext &C, ProgramStateRef &state,
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;
@ -762,7 +762,7 @@ SVal CStringChecker::getCStringLength(CheckerContext &C, ProgramStateRef &state,
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;

View File

@ -65,7 +65,7 @@ void WalkAST::VisitUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr *E) {
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);

View File

@ -11,7 +11,6 @@
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";