- Mar 03, 2009
-
-
Ted Kremenek authored
llvm-svn: 65957
-
Ted Kremenek authored
llvm-svn: 65956
-
Ted Kremenek authored
llvm-svn: 65954
-
Ted Kremenek authored
llvm-svn: 65919
-
Ted Kremenek authored
Add StoreManager::getSubRegionMap(). This method returns an opaque mapping for clients of StoreManagers from MemRegions to their subregions. llvm-svn: 65914
-
- Mar 02, 2009
-
-
Ted Kremenek authored
llvm-svn: 65876
-
Ted Kremenek authored
llvm-svn: 65860
-
Zhongxing Xu authored
llvm-svn: 65817
-
Zhongxing Xu authored
offsets for now. llvm-svn: 65814
-
Daniel Dunbar authored
driver taking lib/Driver. llvm-svn: 65811
-
- Mar 01, 2009
-
-
Ted Kremenek authored
llvm-svn: 65764
-
Ted Kremenek authored
llvm-svn: 65763
-
- Feb 28, 2009
-
-
Ted Kremenek authored
llvm-svn: 65717
-
Chris Lattner authored
llvm-svn: 65707
-
Chris Lattner authored
Niklas Larsson! llvm-svn: 65706
-
- Feb 27, 2009
-
-
Ted Kremenek authored
'.' or '->'. llvm-svn: 65651
-
Douglas Gregor authored
giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... llvm-svn: 65591
-
- Feb 26, 2009
-
-
Ted Kremenek authored
llvm-svn: 65574
-
Ted Kremenek authored
llvm-svn: 65571
-
Douglas Gregor authored
know how to recover from an error, we can attach a hint to the diagnostic that states how to modify the code, which can be one of: - Insert some new code (a text string) at a particular source location - Remove the code within a given range - Replace the code within a given range with some new code (a text string) Right now, we use these hints to annotate diagnostic information. For example, if one uses the '>>' in a template argument in C++98, as in this code: template<int I> class B { }; B<1000 >> 2> *b1; we'll warn that the behavior will change in C++0x. The fix is to insert parenthese, so we use code insertion annotations to illustrate where the parentheses go: test.cpp:10:10: warning: use of right-shift operator ('>>') in template argument will require parentheses in C++0x B<1000 >> 2> *b1; ^ ( ) Use of these annotations is partially implemented for HTML diagnostics, but it's not (yet) producing valid HTML, which may be related to PR2386, so it has been #if 0'd out. In this future, we could consider hooking this mechanism up to the rewriter to actually try to fix these problems during compilation (or, after a compilation whose only errors have fixes). For now, however, I suggest that we use these code modification hints whenever we can, so that we get better diagnostics now and will have better coverage when we find better ways to use this information. This also fixes PR3410 by placing the complaint about missing tokens just after the previous token (rather than at the location of the next token). llvm-svn: 65570
-
Ted Kremenek authored
llvm-svn: 65568
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 65560
-
Ted Kremenek authored
llvm-svn: 65486
-
Ted Kremenek authored
llvm-svn: 65485
-
- Feb 25, 2009
-
-
Ted Kremenek authored
expressions of the form: 'short x = (y != 10);' While we handle 'int x = (y != 10)' lazily, the cast to another integer type currently loses the symbolic constraint. Eager evaluation of the constraint causes the paths to bifurcate and eagerly evaluate 'y != 10' to a constant of 1 or 0. This should address <rdar://problem/6619921> until we have a better (more lazy approach) for handling promotions/truncations of symbolic integer values. llvm-svn: 65480
-
Ted Kremenek authored
retain/release checker: Implement basic tracking of autorelease stack. Next thing is to wire up pools with their contents. llvm-svn: 65425
-
Ted Kremenek authored
Fix broken logic from my last commit. Branches only occur at basic blocks that end with terminators. llvm-svn: 65410
-
Ted Kremenek authored
Fix diagnostic regression where the leak diagnostic could appear earlier in the path than the branches taken. llvm-svn: 65407
-
- Feb 24, 2009
-
-
Ted Kremenek authored
- For autorelease pool tracking, keep information about the stack of pools separate from their contents. Also, keep track of the number of times an autorelease pool will send the "release" message to an object when the pool is destroyed. - Update CFRefCount::Update to return a new state instead of a reference count binding. This will allow us to implement more complicated semantics with autorelease pools. llvm-svn: 65384
-
rdar://problem/6611677Ted Kremenek authored
analyzer for array subscript expressions involving bases that are vectors. This solution is probably a hack: it gets the lvalue of the vector instead of an rvalue like all other types. This should be reviewed (big FIXME in GRExprEngine). llvm-svn: 65366
-
Ted Kremenek authored
llvm-svn: 65346
-
- Feb 23, 2009
-
-
Ted Kremenek authored
Tidy up the path diagnostic generation logic in BugReporter and remove a case where an "Execution continues..." diagnostic could result in an empty message bubble. llvm-svn: 65342
-
Ted Kremenek authored
This doesn't change the current functionality, but better codifies the autorelease pool stack itself. llvm-svn: 65328
-
Ted Kremenek authored
llvm-svn: 65322
-
Ted Kremenek authored
Per Chris L.'s suggestion, use getAsFunctionType() instead of getDesguaredType(). Constify some pointers along the way. llvm-svn: 65321
-
Ted Kremenek authored
retain/release checker: For now don't track the retain count of NSWindow objects (opt for false negatives). llvm-svn: 65304
-
Ted Kremenek authored
llvm-svn: 65302
-
Ted Kremenek authored
llvm-svn: 65301
-
- Feb 22, 2009
-
-
Ted Kremenek authored
Fix regression in naming convention derivation: a method only follows the copy 'rule' if it doesn't already start with 'init', etc. llvm-svn: 65269
-
- Feb 21, 2009
-
-
Ted Kremenek authored
llvm-svn: 65237
-