Thanks Jordan! -eric
On Thu, Oct 3, 2013 at 5:28 PM, Jordan Rose <[email protected]> wrote: > And fixed in r191937. Sorry for the trouble. > > On Oct 3, 2013, at 16:41 , Richard Smith <[email protected]> wrote: > > Temporarily reverted in r191936 until the layering violation is fixed. > > > On Thu, Oct 3, 2013 at 11:44 AM, Jordan Rose <[email protected]> wrote: >> >> Ha, whoops. I didn't even notice that. I'll fix the layering one way or >> another later today or tomorrow morning. Thanks, Eric! >> >> On Oct 3, 2013, at 11:24 , Eric Christopher <[email protected]> wrote: >> >> > So this patch makes the core static analyzer depend upon headers in >> > the checkers. I don't know if that's something we want to do? >> > >> > -eric >> > >> > On Thu, Oct 3, 2013 at 9:57 AM, Jordan Rose <[email protected]> >> > wrote: >> >> Author: jrose >> >> Date: Thu Oct 3 11:57:20 2013 >> >> New Revision: 191910 >> >> >> >> URL: http://llvm.org/viewvc/llvm-project?rev=191910&view=rev >> >> Log: >> >> [analyzer] Replace bug category magic strings with shared constants. >> >> >> >> One small functionality change is to bring the sizeof-pointer checker >> >> in >> >> line with the other checkers by making its category be "Logic error" >> >> instead of just "Logic". There should be no other functionality >> >> changes. >> >> >> >> Patch by Daniel Marjamäki! >> >> >> >> Modified: >> >> >> >> cfe/trunk/include/clang/StaticAnalyzer/Checkers/CommonBugCategories.h >> >> cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h >> >> cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp >> >> cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp >> >> cfe/trunk/lib/StaticAnalyzer/Checkers/CommonBugCategories.cpp >> >> >> >> Modified: >> >> cfe/trunk/include/clang/StaticAnalyzer/Checkers/CommonBugCategories.h >> >> URL: >> >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Checkers/CommonBugCategories.h?rev=191910&r1=191909&r2=191910&view=diff >> >> >> >> ============================================================================== >> >> --- >> >> cfe/trunk/include/clang/StaticAnalyzer/Checkers/CommonBugCategories.h >> >> (original) >> >> +++ >> >> cfe/trunk/include/clang/StaticAnalyzer/Checkers/CommonBugCategories.h Thu >> >> Oct 3 11:57:20 2013 >> >> @@ -15,6 +15,7 @@ namespace clang { >> >> namespace ento { >> >> namespace categories { >> >> extern const char *CoreFoundationObjectiveC; >> >> + extern const char *LogicError; >> >> extern const char *MemoryCoreFoundationObjectiveC; >> >> extern const char *UnixAPI; >> >> } >> >> >> >> Modified: >> >> cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h >> >> URL: >> >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h?rev=191910&r1=191909&r2=191910&view=diff >> >> >> >> ============================================================================== >> >> --- cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h >> >> (original) >> >> +++ cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h >> >> Thu Oct 3 11:57:20 2013 >> >> @@ -15,6 +15,7 @@ >> >> #define LLVM_CLANG_ANALYSIS_BUGTYPE >> >> >> >> #include "clang/Basic/LLVM.h" >> >> +#include "clang/StaticAnalyzer/Checkers/CommonBugCategories.h" >> >> #include "llvm/ADT/FoldingSet.h" >> >> #include <string> >> >> >> >> @@ -54,10 +55,10 @@ class BuiltinBug : public BugType { >> >> const std::string desc; >> >> public: >> >> BuiltinBug(const char *name, const char *description) >> >> - : BugType(name, "Logic error"), desc(description) {} >> >> + : BugType(name, categories::LogicError), desc(description) {} >> >> >> >> BuiltinBug(const char *name) >> >> - : BugType(name, "Logic error"), desc(name) {} >> >> + : BugType(name, categories::LogicError), desc(name) {} >> >> >> >> StringRef getDescription() const { return desc; } >> >> }; >> >> >> >> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp >> >> URL: >> >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp?rev=191910&r1=191909&r2=191910&view=diff >> >> >> >> ============================================================================== >> >> --- cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp (original) >> >> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/CStringChecker.cpp Thu Oct 3 >> >> 11:57:20 2013 >> >> @@ -231,7 +231,7 @@ ProgramStateRef CStringChecker::checkNon >> >> return NULL; >> >> >> >> if (!BT_Null) >> >> - BT_Null.reset(new BuiltinBug("Unix API", >> >> + BT_Null.reset(new BuiltinBug(categories::UnixAPI, >> >> "Null pointer argument in call to byte string function")); >> >> >> >> SmallString<80> buf; >> >> @@ -525,7 +525,7 @@ void CStringChecker::emitOverlapBug(Chec >> >> return; >> >> >> >> if (!BT_Overlap) >> >> - BT_Overlap.reset(new BugType("Unix API", "Improper arguments")); >> >> + BT_Overlap.reset(new BugType(categories::UnixAPI, "Improper >> >> arguments")); >> >> >> >> // Generate a report for this bug. >> >> BugReport *report = >> >> @@ -702,7 +702,7 @@ SVal CStringChecker::getCStringLength(Ch >> >> >> >> if (ExplodedNode *N = C.addTransition(state)) { >> >> if (!BT_NotCString) >> >> - BT_NotCString.reset(new BuiltinBug("Unix API", >> >> + BT_NotCString.reset(new BuiltinBug(categories::UnixAPI, >> >> "Argument is not a null-terminated string.")); >> >> >> >> SmallString<120> buf; >> >> @@ -762,7 +762,7 @@ SVal CStringChecker::getCStringLength(Ch >> >> >> >> if (ExplodedNode *N = C.addTransition(state)) { >> >> if (!BT_NotCString) >> >> - BT_NotCString.reset(new BuiltinBug("Unix API", >> >> + BT_NotCString.reset(new BuiltinBug(categories::UnixAPI, >> >> "Argument is not a null-terminated string.")); >> >> >> >> SmallString<120> buf; >> >> >> >> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp >> >> URL: >> >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp?rev=191910&r1=191909&r2=191910&view=diff >> >> >> >> ============================================================================== >> >> --- cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp >> >> (original) >> >> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp Thu >> >> Oct 3 11:57:20 2013 >> >> @@ -65,7 +65,7 @@ void WalkAST::VisitUnaryExprOrTypeTraitE >> >> PathDiagnosticLocation::createBegin(E, BR.getSourceManager(), >> >> AC); >> >> BR.EmitBasicReport(AC->getDecl(), >> >> "Potential unintended use of sizeof() on pointer >> >> type", >> >> - "Logic", >> >> + categories::LogicError, >> >> "The code calls sizeof() on a pointer type. " >> >> "This can produce an unexpected result.", >> >> ELoc, &R, 1); >> >> >> >> Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/CommonBugCategories.cpp >> >> URL: >> >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/CommonBugCategories.cpp?rev=191910&r1=191909&r2=191910&view=diff >> >> >> >> ============================================================================== >> >> --- cfe/trunk/lib/StaticAnalyzer/Checkers/CommonBugCategories.cpp >> >> (original) >> >> +++ cfe/trunk/lib/StaticAnalyzer/Checkers/CommonBugCategories.cpp Thu >> >> Oct 3 11:57:20 2013 >> >> @@ -11,6 +11,7 @@ >> >> 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"; >> >> >> >> >> >> _______________________________________________ >> >> cfe-commits mailing list >> >> [email protected] >> >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > > > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
