1. b7b0608 Fix typo. by Jordy Rose · 14 years ago
  2. a8fd0bc [analyzer] Add a warning for an incompatible plugin version. by Jordy Rose · 14 years ago
  3. 6875325 Silence compiler warnings by casting object pointers to function pointers via intptr_t. by Benjamin Kramer · 14 years ago
  4. 77a33a7 [analyzer] Add basic support for pluggable checkers. by Jordy Rose · 14 years ago
  5. 5bd0495 [analyzer] teach ExprEngine about loads from static C++ class fields. Fixes <rdar://problem/9948787>. by Ted Kremenek · 14 years ago
  6. 08b8653 [analyzer] Overhaul of checker registration in preparation for basic plugin support. Removes support for checker groups (we can add them back in later if we decide they are still useful), and -analyzer-checker-help output is a little worse for the time being (no packages). by Jordy Rose · 14 years ago
  7. b1a1950 MacOSKeychainAPIChecker: Turn it on by default. by Anna Zaks · 14 years ago
  8. f0c7fe5 MacOSKeychainAPIChecker: Do not report double allocation if first allocation returned an error. by Anna Zaks · 14 years ago
  9. 3b9e8e4 [analyzer] Enhance ConditionVisitor to handle arbitrary ValueDecls in binary expressions, and also handle inverting the order of comparison when the named decl appears on the RHS. by Ted Kremenek · 14 years ago
  10. 4ee7c9c [analyzer] fix operation inversion calculation in ConditionVisitor. by Ted Kremenek · 14 years ago
  11. 681bc11 [analyzer] Enhance ConditionVisitor to understand eagerly evaluated (simple) binary conditions, and teach it to only focus on constraint changes. by Ted Kremenek · 14 years ago
  12. 6c7511d [analyzer] add ExprEngine::getEagerlyAssumedTags() to allow externally querying of "eagerly assumed" expressions. by Ted Kremenek · 14 years ago
  13. 86b39f2 [analyzer] Remove PostStmtCustom ProgramPoint. It can be represented using tagged PostStmts. by Ted Kremenek · 14 years ago
  14. 7d458b0 MacOSKeychainAPIChecker: The security API/memory leak checker should always generate regular nodes instead of sink nodes. by Anna Zaks · 14 years ago
  15. 2fde35d Add ProgramState.cpp. by Ted Kremenek · 14 years ago
  16. 18c66fd Rename GRState to ProgramState, and cleanup some code formatting along the way. by Ted Kremenek · 14 years ago
  17. 67f7fa4 MacOSKeychainAPIChecker: Use llvm::SmallString instead of std::string (as per code review for r137523). by Anna Zaks · 14 years ago
  18. 9c378f7 Cleanup various declarations of 'Stmt*' to be 'Stmt *', etc. in libAnalyzer and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at. by Ted Kremenek · 14 years ago
  19. ca80453 [analyzer] change "tag" in ProgramPoint from "void*" to a ProgramPointTag*. by Ted Kremenek · 14 years ago
  20. 79c9c75 MacOSKeychainAPIChecker: If the allocated data address entered as an enclosing function parameter, skip it to avoid false positives. by Anna Zaks · 14 years ago
  21. 703ffb1 MacOSKeychainAPIChecker: by Anna Zaks · 14 years ago
  22. 096aef9 [analyzer] Nitpicks on Olaf's patch, which I meant to e-mail but then didn't in by Jordy Rose · 14 years ago
  23. 864d252 MacOSKeychainAPIChecker: There is no need to use SymbolMetadata to represent the allocated data symbol, we can just use the symbol corresponding to the SymbolicRegion. This simplifies tracking of the symbol, for example, SymbolMetadata needs to go through extra hoops to stay alive. by Anna Zaks · 14 years ago
  24. 9697934 [analyzer] Introduce new MemRegion, "TypedValueRegion", so that we can separate TypedRegions that implement getValueType() from those that don't. by Ted Kremenek · 14 years ago
  25. 579ad7a Optimizations for Dependent Symbol tracking (as per Ted's code review for r137309): by Anna Zaks · 14 years ago
  26. 89f9209 Analyzer Core: Adding support for user-defined symbol dependencies. (For example, the allocated resource symbol only needs to be freed if no error has been returned by the allocator, so a checker might want to make the lifespan of the error code symbol depend on the allocated resource symbol.) Note, by default, the map that holds the dependencies will get destroyed along with the SymbolManager at the end of function exploration. by Anna Zaks · 14 years ago
  27. 0e89061 Cleanup: remove CleanedSate member and GetState() wrapper from StmtNodeBuilder, not needed as of r137273. by Anna Zaks · 14 years ago
  28. db5e8cd Cleanup: remove GetState() wrapper from ExprEngine, not needed as of r137273. by Anna Zaks · 14 years ago
  29. 6bd528b Analyzer Core: In checkDeadSymbols checker callback, provide the state in which the symbols are not yet deleted so that checkers could inspect them. Since we are now always creating a transition in ProcessStmt(), remove the logic for adding a transition when none was generated. TODO: the extra transitions will have to be removed; more cleanups; a checker that tests teh new fucntionality. by Anna Zaks · 14 years ago
  30. 993124e [analyzer] Start sketching out a new BugReporterVisitor that inspects branches and other expressions to generate interesting path events in diagnostics. by Ted Kremenek · 14 years ago
  31. f91a5b0 [analyzer] Simplify logic for ExprEngine::VisitUnaryExprOrTypeTraitExpr to avoid recursion to subexpression. by Ted Kremenek · 14 years ago
  32. bea2753 [analyzer] Change SymbolReaper to store region roots implied by the Environment, allowing it be queried when by Ted Kremenek · 14 years ago
  33. 5a58c6d KeychainAPI checker: Track SymbolMetadata instead of MemRegion in checker state so that we could clear the state on evalDeadSymbols; also track the return value. by Anna Zaks · 14 years ago
  34. ca0b57e KeychainAPI checker: Generate an error on double allocation. Pull out getAsPointeeMemoryRegion so that it could be reused. by Anna Zaks · 14 years ago
  35. 76cbb75 KeychainAPI checker: Track additional pair of SecKeychain APIs. Also, keep exploring the transition on which a call to allocator function failed (to be able to find errors in examples like ErrorCodesFromDifferentAPISDoNotInterfere). by Anna Zaks · 14 years ago
  36. 083fcb2 KeychainAPI checker: Refactor to make it easier to add more allocator/deallocator API pairs. Add the allocator function ID to the checker state. Better comments. by Anna Zaks · 14 years ago
  37. 08551b5 KeychainAPI checker: refactor to use early exit. by Anna Zaks · 14 years ago
  38. 03826aa KeychainAPI checker: Add basic diagnostics. Track MemoryRegion istead of SymbolicRef since the address might not be a symbolic value in some cases, for example in fooOnlyFree() test. by Anna Zaks · 14 years ago
  39. 0e24471 [analyzer] Remove 'all-experimental' checker group. by Ted Kremenek · 14 years ago
  40. 033a07e [analyzer] rename all experimental checker packages to have 'experimental' be the common root package. by Ted Kremenek · 14 years ago
  41. 17f7bdd [analyzer] Introduce MallocOverflowSecurityChecker, a simple flow-sensitive checker that may be useful for security auditing. This checker is currently too noisy to be on by default. by Ted Kremenek · 14 years ago
  42. eb3058a Static Analyzer diagnostics visualization: when the last location on a path is end of the function, the arrow should point to the closing brace, not the statement before it. Patch by Ted Kremenek. by Anna Zaks · 14 years ago
  43. ff8e758 [analyzer] Drastically simplify ExprEngine::VisitInitListExpr() by assuming all initializer expressions have already been evaluated. by Ted Kremenek · 14 years ago
  44. e68b5f1 KeychainAPI checker: only check the paths on which the allocator function returned noErr. (+ minor cleanup) by Anna Zaks · 14 years ago
  45. f57be28 Add a skeleton for the Keychain Services API Checker. Register it as OSX experimental for now. Note, the checker still does not handle tracking of escaped values, taking into account the return value of the allocator functions, nor the actual bug reporting.. by Anna Zaks · 14 years ago
  46. b9a8adf Remove dead code flagged by GCC's -Wunused-but-set-variable. by Benjamin Kramer · 14 years ago
  47. 6075f01 [analyzer] Remove recursive visitation in ExprEngine::VisitDeclStmt because it isn't needed anymore. by Ted Kremenek · 14 years ago
  48. 71f20db [analyzer] Remove recursive visitation in ExprEngine::VisitCompoundLiteralExpr because it isn't needed anymore. by Ted Kremenek · 14 years ago
  49. 4e906e8 [analyzer] Remove recursive visitation in ExprEngine::VisitCastExpr because it isn't needed anymore. by Ted Kremenek · 14 years ago
  50. 70a34da [analyzer] Remove recursive visitation in ExprEngine::VisitObjCForCollectionStmt because it isn't needed anymore. by Ted Kremenek · 14 years ago
  51. 4410a93 [analyzer] Remove explicit argument processing from ExprEngine::VisitObjCMessage() since it is no longer needed. by Ted Kremenek · 14 years ago
  52. 871f686 [analyzer] Remove recursive visitation in ExprEngine::VisitLValObjCIvarRefExpr because it isn't needed anymore. by Ted Kremenek · 14 years ago
  53. 994b8d3 [analyzer] tighten up ExprEngine::VisitObjCAtSynchronizationStmt(). by Ted Kremenek · 14 years ago
  54. ae2dc14 [analyzer] Remove recursive visitation in ExprEngine::VisitObjCPropertyRefExpr because it isn't needed anymore. by Ted Kremenek · 14 years ago
  55. 962fddc [analyzer] Remove recursive visitation in ExprEngine::VisitCallExpr because it isn't needed anymore. by Ted Kremenek · 14 years ago
  56. e3939d7 [analyzer] Remove recursive visitation in ExprEngine::VisitMemberExpr because it isn't needed anymore. by Ted Kremenek · 14 years ago
  57. 8f3407e [analyzer] Remove recursive visitation in ExprEngine::VisitLvalArraySubscriptExpr() because it is no longer needed. by Ted Kremenek · 14 years ago
  58. e3b075b Remove an unused function (found by Clang's -Wunused-function) by Chandler Carruth · 14 years ago
  59. a4c7a43 Really remove FlatStoreManager and BasicStoreManager, this time from the driver. Also remove associated tests. Sorry for the messy commits; this is the result of a botched Git merge. by Ted Kremenek · 14 years ago
  60. af9ef7f Remove FlatStoreManager and BasicStoreManager. The latter has long been obsolete and the former has no had development in a long time. by Ted Kremenek · 14 years ago
  61. 8829989 [analyzer] Overhaul how the static analyzer expects CFGs by forcing CFGs to be linearized only when used by the static analyzer. This required a rewrite of LiveVariables, and exposed a ton of subtle bugs. by Ted Kremenek · 14 years ago
  62. 217470e [analyzer] fix bug in malloc checker where the tracked symbol would not properly be removed from the state. by Ted Kremenek · 14 years ago
  63. fa7a95c [analyzer] Add StoreManager::includedInBindings() to to query whether a region is used in any bindings. by Ted Kremenek · 14 years ago
  64. 31d922f [analyzer] Add safety checking in RegionStoreManager for string literal underruns. by Ted Kremenek · 14 years ago
  65. 90e2f53 [analyzer] Teach Environment to not look through MaterializeTemporaryExprs. by Ted Kremenek · 14 years ago
  66. 6c370d9 [analyzer] Fix bug in ObjCMessage where casts were being incorrectly ignored. by Ted Kremenek · 14 years ago
  67. eea72a9 [analyzer] fix handling of MaterializeTemporaryExpr by binding the result value to by Ted Kremenek · 14 years ago
  68. 6421162 Rename getInstantiationLineNumber to getExpansionLineNumber in both by Chandler Carruth · 14 years ago
  69. a77c031 Rename getInstantiationColumnNumber to getExpansionColumnNumber in both by Chandler Carruth · 14 years ago
  70. e7b2b6e Rename getDecomposedInstantiationLoc to getDecomposedExpansionLoc. by Chandler Carruth · 14 years ago
  71. 4027853 Mechanically rename SourceManager::getInstantiationLoc and by Chandler Carruth · 14 years ago
  72. 5f9e272 remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports by Chris Lattner · 14 years ago
  73. 6c2c250 In Objective-C, pull arbitrary attributes from overridden by John McCall · 14 years ago
  74. 4fed22c Move AnalysisManager constructor out of line. No functionality change (yet). by Ted Kremenek · 14 years ago
  75. bc5cb8a Simplify passing of CFGBuildOptions around for AnalysisContext. No functionality change. by Ted Kremenek · 14 years ago
  76. 4cc1187 [analyzer] Very minor cleanup in PthreadLockChecker. No functionality change. by Jordy Rose · 14 years ago
  77. dcb1d5d [analysis] Add checks for double-locking and lock order reversal bugs for by Jordy Rose · 14 years ago
  78. 0556048 [analyzer] Place checking for Core Foundation "Create" rule into a proper API. No functionality change. by Ted Kremenek · 14 years ago
  79. 5b5402b Add tests for CFRefReport's path notes, and fix a few typos and non-standard terminology ('+0 retain counts') caught by the tests. by Jordy Rose · 14 years ago
  80. 8f08426 [analyzer] GNU __null is a pointer-sized integer, not a pointer. Fixes PR10372. by Jordy Rose · 14 years ago
  81. af5b043 Clean up UnixAPIChecker, including switching its array of BugTypes to llvm::OwningPtr<BugType> vars (the new convention). No functionality change. by Jordy Rose · 14 years ago
  82. 57964bd Clean up MacOSXAPIChecker, including switching its array of BugTypes to a single llvm::OwningPtr<BugType> (the new convention). No functionality change. by Jordy Rose · 14 years ago
  83. 91a5755 Create a new expression node, SubstNonTypeTemplateParmExpr, by John McCall · 14 years ago
  84. 7e5e5f4 In ARC, reclaim all return values of retainable type, not just those by John McCall · 14 years ago
  85. 786dcd9 Teach the static analyzer's interpretation of Cocoa conventions to by Douglas Gregor · 14 years ago
  86. aa7333c Update for llvm commit r134291. by Eric Christopher · 14 years ago
  87. eda3687 [analyzer] Use UnknownVal when default-initializing arrays whose element types we don't model, to distinguish them from uninitialized arrays (PR10163). by Jordy Rose · 14 years ago
  88. 03e8003 Introduce a new AST node describing reference binding to temporaries. by Douglas Gregor · 14 years ago
  89. 8912aae [analyzer] Finish size argument checking for strncat (and strncpy). by Jordy Rose · 14 years ago
  90. 8cc2491 [analyzer] Replace stream-built error message with constant string. No functionality change. by Jordy Rose · 14 years ago
  91. 5e5f150 [analyzer] Re-enable checking for strncpy, along with a new validation of the size argument. strncat is not yet up-to-date, but I'm leaving it enabled for now (there shouldn't be any false positives, at least...) by Jordy Rose · 14 years ago
  92. 9e49d9f [analyzer] Eliminate "byte string function" from CStringChecker's diagnostics, and make it easier to provide custom messages for overflow checking, in preparation for re-enabling strncpy checking. by Jordy Rose · 14 years ago
  93. 71c482c Initialize a couple of variables to shut GCC up. by John McCall · 14 years ago
  94. adc42d4 [analyzer] Clean up modeling of strcmp, including cases where a string literal has an embedded null character, and where both arguments are the same buffer. Also use nested ifs rather than early returns; in this case early returns will lose any assumptions we've made earlier in the function. by Jordy Rose · 14 years ago
  95. ee2fde1 [analyzer] Fix trivial errors in previous commit. by Jordy Rose · 14 years ago
  96. 1e02241 [analyzer] Cleanup: mainly 80-char violations and preferring SValBuilder::getComparisonType() to just referencing IntTy. by Jordy Rose · 14 years ago
  97. f85e193 Automatic Reference Counting. by John McCall · 14 years ago
  98. d5af0e1 [analyzer] Revise CStringChecker's modelling of strcpy() and strcat(): by Jordy Rose · 14 years ago
  99. 210c05b [analyzer] If a C string length is UnknownVal, clear any existing length binding. No tests yet because the only thing that sets string length is strcpy(), and that needs some work anyway. by Jordy Rose · 14 years ago
  100. a9af8e7 [analyzer] When performing a binary operation on symbolic operands, we convert the symbol values to a common type. But in a relational operation, the result is an 'int' or 'bool', which may not be the appropriate type to convert the operands to. In these cases, use the left-hand operand's type as the conversion type. by Jordy Rose · 14 years ago