| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Change CheckDeadStores to use Expr::isNullPointerConstant, which will ↵ | Ted Kremenek | 2009-11-22 | 1 | -6/+5 | |
| | | | | | | | | | correctly determine whether an expression is a null pointer constant. Patch by Kovarththanan Rajaratnam! llvm-svn: 89621 | |||||
| * | Undefined compound assignment result is checked in ↵ | Zhongxing Xu | 2009-11-22 | 1 | -9/+0 | |
| | | | | | | | UndefinedAssignmentChecker. So this check is redundant. llvm-svn: 89592 | |||||
| * | Remove invalid comments. The result is undefined only when operands are ↵ | Zhongxing Xu | 2009-11-22 | 1 | -2/+0 | |
| | | | | | | | undefined. llvm-svn: 89591 | |||||
| * | Save and restore the HasGen flag in MallocChecker. | Zhongxing Xu | 2009-11-22 | 1 | -0/+1 | |
| | | | | | llvm-svn: 89590 | |||||
| * | Don't include a dead header. | Benjamin Kramer | 2009-11-22 | 1 | -1/+0 | |
| | | | | | llvm-svn: 89587 | |||||
| * | Remove UndefinedAssignmentChecker's header. | Zhongxing Xu | 2009-11-22 | 3 | -3/+21 | |
| | | | | | llvm-svn: 89585 | |||||
| * | Make FixedAddressChecker and experimental check; it currently produces a ton ↵ | Ted Kremenek | 2009-11-21 | 2 | -1/+2 | |
| | | | | | | | of false positives when analyzing some projects (e.g., Wine). llvm-svn: 89560 | |||||
| * | Restructure DereferenceChecker slightly to handle caching out when we would ↵ | Ted Kremenek | 2009-11-21 | 1 | -19/+22 | |
| | | | | | | | report a null dereference more than once. llvm-svn: 89526 | |||||
| * | Pull BadCallChecker int UndefinedArgChecker, and have UndefinedArgChecker ↵ | Ted Kremenek | 2009-11-21 | 6 | -237/+191 | |
| | | | | | | | also handled undefined receivers in message expressions. llvm-svn: 89524 | |||||
| * | More checker refactoring. Passing undefined values in a message expression ↵ | Ted Kremenek | 2009-11-21 | 3 | -65/+34 | |
| | | | | | | | is now handled by UndefinedArgChecker. llvm-svn: 89519 | |||||
| * | Fix typo GCC 4.3 warned about. | Benjamin Kramer | 2009-11-20 | 1 | -1/+1 | |
| | | | | | llvm-svn: 89453 | |||||
| * | Add simple static analyzer checker to check for sending 'release', 'retain', ↵ | Ted Kremenek | 2009-11-20 | 1 | -0/+61 | |
| | | | | | | | etc. directly to a class. Fixes <rdar://problem/7252064>. llvm-svn: 89449 | |||||
| * | Unused ivar checker: ivars referenced by lexically nested functions should ↵ | Ted Kremenek | 2009-11-20 | 1 | -1/+32 | |
| | | | | | | | not be flagged as unused. Fixes <rdar://problem/7254495>. llvm-svn: 89448 | |||||
| * | Revert r89437 and add a comment. | Zhongxing Xu | 2009-11-20 | 1 | -1/+2 | |
| | | | | | llvm-svn: 89446 | |||||
| * | It's unnecessary to check for unknown at this point. | Zhongxing Xu | 2009-11-20 | 1 | -2/+1 | |
| | | | | | llvm-svn: 89437 | |||||
| * | Fix null dereference in NSAutoreleasePoolChecker when analyzing messages ↵ | Ted Kremenek | 2009-11-20 | 1 | -0/+3 | |
| | | | | | | | sent to blocks. llvm-svn: 89413 | |||||
| * | Fix crash when using --analyzer-store=region when handling initializers with ↵ | Ted Kremenek | 2009-11-19 | 1 | -11/+39 | |
| | | | | | | | nested arrays/structs whose values are not explicitly specified. Fixes <rdar://problem/7403269>. llvm-svn: 89384 | |||||
| * | Remove printf statement. | Ted Kremenek | 2009-11-19 | 1 | -2/+0 | |
| | | | | | llvm-svn: 89383 | |||||
| * | Only fetch the ASTContext object within the assertion. | Ted Kremenek | 2009-11-19 | 1 | -4/+2 | |
| | | | | | llvm-svn: 89375 | |||||
| * | Silence -Asserts warning. | Daniel Dunbar | 2009-11-19 | 1 | -0/+1 | |
| | | | | | llvm-svn: 89373 | |||||
| * | Add PreVisitReturn to Malloc checker. Now we can recognize returned memory | Zhongxing Xu | 2009-11-17 | 1 | -0/+26 | |
| | | | | | | | block. llvm-svn: 89071 | |||||
| * | Add EvalEndPath interface to Checker. Now we can check memory leaked at the | Zhongxing Xu | 2009-11-17 | 2 | -20/+57 | |
| | | | | | | | end of the path. Need to unify interfaces. llvm-svn: 89063 | |||||
| * | Clear the dest set. | Zhongxing Xu | 2009-11-17 | 1 | -0/+1 | |
| | | | | | llvm-svn: 89060 | |||||
| * | First part of changes to eliminate problems with cv-qualifiers and | Douglas Gregor | 2009-11-16 | 3 | -7/+4 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sugared types. The basic problem is that our qualifier accessors (getQualifiers, getCVRQualifiers, isConstQualified, etc.) only look at the current QualType and not at any qualifiers that come from sugared types, meaning that we won't see these qualifiers through, e.g., typedefs: typedef const int CInt; typedef CInt Self; Self.isConstQualified() currently returns false! Various bugs (e.g., PR5383) have cropped up all over the front end due to such problems. I'm addressing this problem by splitting each qualifier accessor into two versions: - the "local" version only returns qualifiers on this particular QualType instance - the "normal" version that will eventually combine qualifiers from this QualType instance with the qualifiers on the canonical type to produce the full set of qualifiers. This commit adds the local versions and switches a few callers from the "normal" version (e.g., isConstQualified) over to the "local" version (e.g., isLocalConstQualified) when that is the right thing to do, e.g., because we're printing or serializing the qualifiers. Also, switch a bunch of Context.getCanonicalType(T1).getUnqualifiedType() == Context.getCanonicalType(T2).getQualifiedType() expressions over to Context.hasSameUnqualifiedType(T1, T2) llvm-svn: 88969 | |||||
| * | * Do the same thing to the basicstore as in r84163. | Zhongxing Xu | 2009-11-16 | 4 | -30/+30 | |
| | | | | | | | | | | | * Add a load type to GRExprEngine::EvalLoad(). * When retrieve from 'theValue' of OSAtomic funcitions, use the type of the region instead of the argument expression as the load type. * Then we can convert CastRetrievedSVal to a pure assertion. In the future we can let all Retrieve() methods simply return SVal. llvm-svn: 88888 | |||||
| * | Remove an unused parameter. | Zhongxing Xu | 2009-11-16 | 1 | -3/+2 | |
| | | | | | llvm-svn: 88882 | |||||
| * | Change *BugReport constructors to take StringRefs. | Benjamin Kramer | 2009-11-14 | 17 | -26/+20 | |
| | | | | | | | | | - Eliminates many calls to std::string.c_str() - Fixes an invalid read in ReturnStackAddressChecker due to an unsafe call to StringRef.data() which doesn't guarantee null-termination. llvm-svn: 88779 | |||||
| * | Move definition of GRExprEngine::ProcessEndPath() out-of-line. | Ted Kremenek | 2009-11-14 | 1 | -0/+7 | |
| | | | | | llvm-svn: 88729 | |||||
| * | Add clang-cc option "--analyzer-experimental-internal-checks". This | Ted Kremenek | 2009-11-13 | 2 | -8/+15 | |
| | | | | | | | | option enables new "internal" checks that will eventually be turned on by default but still require broader testing. llvm-svn: 88671 | |||||
| * | Malloc checker basically works now. | Zhongxing Xu | 2009-11-13 | 1 | -2/+24 | |
| | | | | | llvm-svn: 87094 | |||||
| * | Hook up Malloc checker. | Zhongxing Xu | 2009-11-13 | 3 | -0/+14 | |
| | | | | | llvm-svn: 87093 | |||||
| * | Check in a new interface of Checker, which will soon be used. | Zhongxing Xu | 2009-11-13 | 1 | -1/+23 | |
| | | | | | llvm-svn: 87092 | |||||
| * | GRStateManager::CurrentStmt is not used. Remove it. | Zhongxing Xu | 2009-11-13 | 1 | -4/+0 | |
| | | | | | llvm-svn: 87091 | |||||
| * | Pull static variable within function (for slightly faster startup time). | Ted Kremenek | 2009-11-13 | 1 | -2/+4 | |
| | | | | | llvm-svn: 87065 | |||||
| * | retain/release checker: refactor some of the summary lookup logic for ↵ | Ted Kremenek | 2009-11-13 | 1 | -288/+293 | |
| | | | | | | | instance method summaries. No real functionality change, but it paves the way for new enhancements. llvm-svn: 87062 | |||||
| * | Add clang-cc option "-analyzer-experimental-checks" to enable experimental ↵ | Ted Kremenek | 2009-11-13 | 2 | -0/+24 | |
| | | | | | | | path-sensitive checks. The idea is to separate "barely working" or "skunkworks" checks from ones that should always run. Later we need more fine-grain checker control. llvm-svn: 87053 | |||||
| * | Fix MSVC build. | Benjamin Kramer | 2009-11-12 | 1 | -1/+1 | |
| | | | | | llvm-svn: 86983 | |||||
| * | update CMakefile | Zhongxing Xu | 2009-11-12 | 1 | -0/+1 | |
| | | | | | llvm-svn: 86979 | |||||
| * | Add boilerplate logic for a malloc/free checker. | Zhongxing Xu | 2009-11-12 | 1 | -0/+126 | |
| | | | | | llvm-svn: 86978 | |||||
| * | PthreadLockChecker doesn't need PreVisitCallExpr() yet. All the current ↵ | Ted Kremenek | 2009-11-12 | 1 | -20/+6 | |
| | | | | | | | logic should be done in PostVisitCallExpr() llvm-svn: 86959 | |||||
| * | Add most of the boilerplate logic for a simple pthread_mutux_lock() -> ↵ | Ted Kremenek | 2009-11-12 | 3 | -1/+181 | |
| | | | | | | | pthread_mutex_unlock() checker. We need to add a visitor method to Checker for handling dead symbols in order to detect locks that are not unlocked. llvm-svn: 86958 | |||||
| * | Remove obsolete 'struct NullDerefTag'. | Ted Kremenek | 2009-11-12 | 1 | -6/+0 | |
| | | | | | llvm-svn: 86957 | |||||
| * | Enhance Checker class (and GRExprEngine) to support PostVisitation for ↵ | Ted Kremenek | 2009-11-12 | 1 | -10/+10 | |
| | | | | | | | CallExprs. No clients (yet). llvm-svn: 86949 | |||||
| * | Remove GRExprEngine::EvalCall(). It had a single callsite in GRExprEngine, ↵ | Ted Kremenek | 2009-11-12 | 1 | -13/+10 | |
| | | | | | | | and was easily inlined. llvm-svn: 86948 | |||||
| * | Make StoreManager::getSizeInElements() always return DefinedOrUnknownSVal. | Zhongxing Xu | 2009-11-12 | 3 | -9/+8 | |
| | | | | | llvm-svn: 86932 | |||||
| * | Remove some stale ErrorNodes variables in GRExprEngine and the old buffer ↵ | Ted Kremenek | 2009-11-11 | 2 | -12/+12 | |
| | | | | | | | overflow logic in GRExprEngineInternalChecks.cpp. llvm-svn: 86877 | |||||
| * | After drinking caffeine, add the two files missing from the previous submit. | Chandler Carruth | 2009-11-11 | 1 | -0/+20 | |
| | | | | | | | Sorry about that. llvm-svn: 86869 | |||||
| * | Move the ManagerRegistry to the Analysis library to resolve the layering ↵ | Chandler Carruth | 2009-11-11 | 2 | -1/+2 | |
| | | | | | | | violation. llvm-svn: 86863 | |||||
| * | Add undefined array subscript checker. | Zhongxing Xu | 2009-11-11 | 5 | -1/+64 | |
| | | | | | llvm-svn: 86837 | |||||
| * | Remove the old out-of-bound checking code. | Zhongxing Xu | 2009-11-11 | 1 | -42/+0 | |
| | | | | | llvm-svn: 86836 | |||||

