- Oct 29, 2009
-
-
Douglas Gregor authored
Switch a few ugly switch-on-string-literal constructs to use the new llvm::StringSwitch. llvm-svn: 85461
-
- Oct 28, 2009
-
-
Ted Kremenek authored
Unused ivars checker: also check methods in categories that are defined in the same translation unit. Fixes <rdar://problem/6260004>. llvm-svn: 85442
-
Ted Kremenek authored
categories as well (WIP). No functionality change yet. llvm-svn: 85423
-
Zhongxing Xu authored
Patch by Simone Pellegrini. llvm-svn: 85386
-
- Oct 26, 2009
-
-
Zhongxing Xu authored
warnings. Eventually we need a way to import externally defined functions summaries. llvm-svn: 85092
-
- Oct 23, 2009
-
-
Douglas Gregor authored
qualified reference to a declaration that is not a non-static data member or non-static member function, e.g., namespace N { int i; } int j = N::i; Instead, extend DeclRefExpr to optionally store the qualifier. Most clients won't see or care about the difference (since QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the number of top-level expression types that clients need to cope with, brings the implementation of DeclRefExpr into line with MemberExpr, and simplifies and unifies our handling of declaration references. Extended DeclRefExpr to (optionally) store explicitly-specified template arguments. This occurs when naming a declaration via a template-id (which will be stored in a TemplateIdRefExpr) that, following template argument deduction and (possibly) overload resolution, is replaced with a DeclRefExpr that refers to a template specialization but maintains the template arguments as written. llvm-svn: 84962
-
- Oct 22, 2009
-
-
Zhongxing Xu authored
llvm-svn: 84824
-
- Oct 21, 2009
-
-
Zhongxing Xu authored
llvm-svn: 84757
-
Ted Kremenek authored
llvm-svn: 84697
-
Ted Kremenek authored
llvm-svn: 84695
-
- Oct 20, 2009
-
-
Ted Kremenek authored
AnalysisManager periodically cleanup its AnalysisContextManager and LocationContextManager objects, as they don't need to forever retain all the CFGs ever created when analyzing a file. llvm-svn: 84684
-
Ted Kremenek authored
region when doing lazy value retrieval of an ivar. This fixes: <rdar://problem/7312221> llvm-svn: 84584
-
Ted Kremenek authored
retain/release checker: allow 'new', 'copy', 'alloc', 'init' prefix to start before '_' when determining Cocoa fundamental rule. Fixes: <rdar://problem/7265711> llvm-svn: 84569
-
- Oct 18, 2009
-
-
Daniel Dunbar authored
are updated. llvm-svn: 84447
-
Daniel Dunbar authored
- strcmp -> == - OS.write(II->getName() ...) -> OS << II->getNameStr() - Avoid std::string concatenation - Use getNameStr().str() when an std::string is really needed. llvm-svn: 84437
-
Daniel Dunbar authored
llvm-svn: 84436
-
Zhongxing Xu authored
llvm-svn: 84398
-
- Oct 17, 2009
-
-
Daniel Dunbar authored
llvm-svn: 84342
-
Daniel Dunbar authored
llvm-svn: 84341
-
Daniel Dunbar authored
llvm-svn: 84340
-
Daniel Dunbar authored
llvm-svn: 84338
-
Ted Kremenek authored
Minor cleanup: move typedef out of anonymous namespace (which now contains nothing) and into RemoveDeadBindings. No functionality change. llvm-svn: 84335
-
Zhongxing Xu authored
the code to standard worklist algorithm. Always add both sub and super regions of live regions. llvm-svn: 84323
-
Ted Kremenek authored
Fix another static analyzer crash due to a corner case in "folding" symbolic values that are constrained to be a constant. llvm-svn: 84320
-
Zhongxing Xu authored
kinds. This means we are visiting all regions 'from super region'. llvm-svn: 84319
-
- Oct 16, 2009
-
-
Ted Kremenek authored
Fix static analyzer crash due to recently add symbolic-value constant folding. The issue was falsely converting the constant value of the LHS of a '<<'/'>>' operation to the same APSInt value of the RHS. llvm-svn: 84269
-
Ted Kremenek authored
retain/release checker: Stop tracking reference counts for any symbols touched by StoreManager::InvalidateRegion(). This fixes <rdar://problem/7257223> and <rdar://problem/7283470>. llvm-svn: 84223
-
Ted Kremenek authored
This fixes <rdar://problem/7306898> llvm-svn: 84213
-
Ted Kremenek authored
retain/release checker: Use simpler utility method for creating class method summaries. No functionality change. llvm-svn: 84210
-
- Oct 15, 2009
-
-
Ted Kremenek authored
RegionStoreManager::Retrieve() that was intended to handle conflated uses of pointers as integers. It turns out this isn't needed, and resulted in inconsistent behavior when creating symbolic values on the following test case in 'tests/Analysis/misc-ps.m': typedef struct _BStruct { void *grue; } BStruct; void testB_aux(void *ptr); void testB(BStruct *b) { { int *__gruep__ = ((int *)&((b)->grue)); int __gruev__ = *__gruep__; testB_aux(__gruep__); } { int *__gruep__ = ((int *)&((b)->grue)); int __gruev__ = *__gruep__; if (~0 != __gruev__) {} } } When the code was analyzed with '-arch x86_64', the value assigned to '__gruev__' be would be a symbolic integer, but for '-arch i386' the value assigned to '__gruev__' would be a symbolic region (a blob of memory). With this change the value created is always a symbolic integer. Since the code being removed was added to support analysis of code calling OSAtomicCompareAndSwapXXX(), I also modified 'test/Analysis/NSString.m' to analyze the code in both '-arch i386' and '-arch x86_64', and also added some complementary test cases to test the presence of leaks when using OSAtomicCompareAndSwap32Barrier()/OSAtomicCompareAndSwap64Barrier() instead of just their absence. This code change reveals that previously both RegionStore and BasicStore were handling these cases wrong, and would never cause the analyzer to emit a leak in these cases (false negatives). Now RegionStore gets it right, but BasicStore still gets it wrong (and hence it has been disabled temporarily for this test case). llvm-svn: 84163
-
Ted Kremenek authored
llvm-svn: 84157
-
- Oct 14, 2009
-
-
Zhongxing Xu authored
llvm-svn: 84081
-
Zhongxing Xu authored
llvm-svn: 84073
-
Zhongxing Xu authored
* Make all Base value the last argument. llvm-svn: 84071
-
Ted Kremenek authored
'CVPixelBufferCreateWithPlanarBytes()' and 'CVPixelBufferCreateWithBytes' (Core Video API) can indirectly release a pixel buffer object via a callback. This fixes <rdar://problem/7283567>. llvm-svn: 84064
-
Ted Kremenek authored
the data argument) should not be tracked further until we support full IPA. (fixes <rdar://problem/7299394>) llvm-svn: 84047
-
- Oct 13, 2009
-
-
Zhongxing Xu authored
llvm-svn: 83936
-
Zhongxing Xu authored
llvm-svn: 83934
-
- Oct 12, 2009
-
-
Ted Kremenek authored
Use a BumpPtrAllocator to allocate all aspects of CFG, including CFGBlocks, successor and predecessor vectors, etc. Speedup: when doing 'clang-cc -analyze -dump-cfg' (without actual printing, just CFG building) on the amalgamated SQLite source (all of SQLite in one source file), runtime reduced by 9%. This fixes: <rdar://problem/7250745> llvm-svn: 83899
-
- Oct 11, 2009
-
-
Zhongxing Xu authored
default binding for regions. This allows us to simply a lot of code. A further simplification could be done is that many methods of regionstore can only work on Store instead of GRState. llvm-svn: 83762
-