Ted Kremenek
25db1f3ff1
Add test case.
...
llvm-svn: 68505
2009-04-07 05:33:18 +00:00
Ted Kremenek
751e7e3833
retain/release checker: don't track NSPanel until we have better reasoning about
...
the subtle ownership issues of such objects.
llvm-svn: 68397
2009-04-03 19:02:51 +00:00
Ted Kremenek
701fc10087
Add a few more analyzer test cases.
...
llvm-svn: 68326
2009-04-02 17:25:00 +00:00
Ted Kremenek
9335fecc2a
Update expected warning in test case.
...
llvm-svn: 68276
2009-04-02 02:52:13 +00:00
Ted Kremenek
8b0dba358a
Fix: <rdar://problem/6740387>. Sending nil to an object that returns a struct
...
should only be an error if that value is consumed. This fix was largely
accomplished by moving 'isConsumedExpr' back to ParentMap.
llvm-svn: 68195
2009-04-01 06:52:48 +00:00
Ted Kremenek
f0ec333fc1
Update test case.
...
llvm-svn: 68084
2009-03-31 03:34:38 +00:00
Ted Kremenek
cf2d8f0404
Add another uninitialized values test case illustrating that the CFG correctly
...
handles declarations with multiple variables.
llvm-svn: 68046
2009-03-30 18:29:27 +00:00
Ted Kremenek
035cf930d5
Fix regression in pointer comparison with NULL (e.g., 0 != ptr). This fixes
...
<rdar://problem/6732151>.
llvm-svn: 67954
2009-03-28 19:59:33 +00:00
Daniel Dunbar
a45cf5b6b0
Rename clang to clang-cc.
...
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
2009-03-24 02:24:46 +00:00
Ted Kremenek
af6543455f
A test case to test that -warn-dead-stores does not emit a warning for stores to variables marked with '#pragma unused'.
...
llvm-svn: 67570
2009-03-23 22:30:58 +00:00
Ted Kremenek
b294d196b3
analyzer: Provide temporary workaround for false positive reported by
...
<rdar://problem/6704930> involving SimpleConstraintManager not reasoning well
about symbolic constraint values involving arithmetic operators.
llvm-svn: 67534
2009-03-23 17:10:25 +00:00
Ted Kremenek
c7fef2ad53
analyzer: Fix embarrassing regression in BasicStore when invalidating struct
...
values passed-by-reference to unknown functions.
llvm-svn: 67519
2009-03-23 15:42:58 +00:00
Ted Kremenek
67a3bb7af7
Add test cases for PR 3820.
...
llvm-svn: 67327
2009-03-19 19:50:58 +00:00
Ted Kremenek
891642e4da
Fix PR 3836 by eagerly assuming symbolic constraints returned by unary '!'.
...
llvm-svn: 67260
2009-03-18 23:49:26 +00:00
Ted Kremenek
b36e01d87e
Fix crash reported in <rdar://problem/6695527>. We now have
...
SVal::GetRValueSymbolVal do the checking if we can symbolicate a type instead of
having BasicStoreManager do it (which wasn't always doing the check
consistently). Having this check in SVal::GetRValueSymbolVal keeps the check in
one centralized place.
llvm-svn: 67245
2009-03-18 22:10:22 +00:00
Zhongxing Xu
e40de828fc
add test case.
...
llvm-svn: 67154
2009-03-18 02:07:30 +00:00
Ted Kremenek
340fd2dd6e
Fix PR 3677 [retain checker]: custom 'allocWithZone' methods should be allowed
...
to return an owning pointer.
llvm-svn: 66934
2009-03-13 20:27:06 +00:00
Ted Kremenek
22358bd681
Add a hack in the analyzer to recover some path-sensitivity at branch
...
conditions. Currently the analyzer does not reason well about
promotions/truncations of symbolic values, so at branch conditions when we see:
if (condition)
and condition is something like a 'short' or 'char', essentially ignore the
promotion to 'int' so that we track constraints on the original symbolic value.
We only ignore the casts if the underlying type has the same or fewer bits as
the converted type.
This fixes:
<rdar://problem/6619921>
llvm-svn: 66899
2009-03-13 16:32:54 +00:00
Ted Kremenek
ec94f08dce
Fix failure reported by Sebastian of test/Analysis/ptr-arith.c when the target
...
is 64-bit. I used his suggestion of doing a direct bitwidth/signedness
conversion of the 'offset' instead of just changing the sign. For more
information, see:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-March/004587.html
llvm-svn: 66892
2009-03-13 15:35:24 +00:00
Ted Kremenek
dd772264f4
Fix crash when using TypedViewRegions and ObjCQualifiedIdTypes (TypedViewRegion::getLValueType() was not implemented).
...
llvm-svn: 66830
2009-03-12 22:15:08 +00:00
Daniel Dunbar
4f495980c4
Add Diagnostic files for Frontend and move a couple errors over.
...
- Notably, clang now exits with an error if it can't find a
file. This flushed out a bug in the CGColorSpace.c test case. :)
llvm-svn: 66789
2009-03-12 10:14:16 +00:00
Zhongxing Xu
ca026916f4
Add comments to test case.
...
llvm-svn: 66760
2009-03-12 01:55:38 +00:00
Ted Kremenek
be485b6c7d
Fix StmtIterator bug reported in PR 3780 where a VLA within a DeclGroup would
...
not be consulted for its size expression when operator* was called in the
StmtIterator (this resulted in an assertion failure).
llvm-svn: 66679
2009-03-11 18:17:16 +00:00
Zhongxing Xu
f6b6a39b04
This test case checks if we get the right rvalue type of a TypedViewRegion.
...
The ElementRegion's type depends on the array region's rvalue type. If it was
a pointer type, we would get a loc::SymbolVal for '*p'.
llvm-svn: 66656
2009-03-11 09:15:38 +00:00
Zhongxing Xu
507202ecb7
Fix crash when LHS of pointer arithmetic is not ElementRegion.
...
llvm-svn: 66649
2009-03-11 07:43:49 +00:00
Ted Kremenek
0fa538528e
Fix PR 3780: In one code path in BasicValueFactory::getValue() we would not
...
return an unsigned integer for a null pointer value.
llvm-svn: 66630
2009-03-11 02:52:39 +00:00
Ted Kremenek
3f5a85ad06
SimpleConstraintManager doesn't reason about bitwise-constraints on symbolic
...
values. Indicating this in 'canReasonAbout' allows GRExprEngine to recover
path-sensitivity in some cases.
llvm-svn: 66628
2009-03-11 02:29:48 +00:00
Ted Kremenek
0b891a343a
retain/release checker: Allow allocations to fail by returning nil.
...
llvm-svn: 66487
2009-03-09 22:46:49 +00:00
Ted Kremenek
3987bbee34
Add test case for <rdar://problem/6659160>.
...
llvm-svn: 66483
2009-03-09 22:28:18 +00:00
Ted Kremenek
3add5e51ff
Fix another GRExprEngine::VisitCast regression: handle casts of void* to function pointers.
...
llvm-svn: 66211
2009-03-05 22:47:06 +00:00
Ted Kremenek
a06a68fa9b
Fix regression in GRExprEngine::VisitCast: Do not wrap symbolic function pointers with TypedViewRegions.
...
llvm-svn: 66187
2009-03-05 20:22:13 +00:00
Ted Kremenek
a7ec605dbd
Update test case: objects stored to self.ivar are not tracked.
...
llvm-svn: 66168
2009-03-05 18:15:02 +00:00
Ted Kremenek
fa3d77bc2c
Retrofit some basic tracking of ivars (for the current object) into BasicStore.
...
llvm-svn: 66166
2009-03-05 18:08:28 +00:00
Ted Kremenek
2b24f306df
Test case: When using RegionStore with the retain/release checker, stop tracking objects assigned to self's ivar.
...
llvm-svn: 66139
2009-03-05 05:14:55 +00:00
Ted Kremenek
77a3cb2dfa
Add test case for RegionStore's tracking of the ivars of 'self'.
...
llvm-svn: 66136
2009-03-05 04:55:08 +00:00
Ted Kremenek
eba836a457
GRExprEngine: Polish up handling of casting integer constants to pointers and back.
...
llvm-svn: 66127
2009-03-05 02:42:32 +00:00
Ted Kremenek
00dfe30409
For now, do not track NSWindow objects and it's subclasses.
...
llvm-svn: 66107
2009-03-04 23:30:42 +00:00
Ted Kremenek
33129a26f7
Add prototype support for invalidating fields for structures passed-by-reference
...
to unknown functions. Most of this logic should be eventually moved to
RegionStore and be made lazy.
llvm-svn: 66094
2009-03-04 22:56:43 +00:00
Ted Kremenek
d69e29e8c4
This test now passes using RegionStore.
...
llvm-svn: 65988
2009-03-04 00:23:28 +00:00
Zhongxing Xu
6765d449ed
Add test case for pointer arithmetic.
...
llvm-svn: 65907
2009-03-03 00:28:42 +00:00
Douglas Gregor
5741efbba0
Fix PR3509 by providing correct starting locations for initializer lists
...
llvm-svn: 65777
2009-03-01 17:12:46 +00:00
Ted Kremenek
dc3f50fbd9
Add experimental logic in GRExprEngine::EvalEagerlyAssume() to handle
...
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
2009-02-25 22:32:02 +00:00
Ted Kremenek
cce27f5502
Fix <rdar://problem/6611677>: Add basic transfer function support in the static
...
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
2009-02-24 02:23:11 +00:00
Ted Kremenek
e73f282213
retain/release checker: For now don't track the retain count of NSWindow objects (opt for false negatives).
...
llvm-svn: 65304
2009-02-23 02:51:29 +00:00
Ted Kremenek
e6d2b40bcc
More retain/release naming convention tests.
...
llvm-svn: 65303
2009-02-23 02:50:20 +00:00
Ted Kremenek
5fa0d070a5
Add test case for PR 2599.
...
llvm-svn: 65299
2009-02-23 01:29:25 +00:00
Ted Kremenek
8a73c71486
Improved naming convention heuristics in the retain/release checker to better
...
handle method names that contain 'new', 'copy', etc., but those words might be
the substring of larger words such as 'newsgroup' and 'photocopy' that do not
indicate the allocation of objects. This should address the issues discussed in
<rdar://problem/6552389>.
llvm-svn: 65224
2009-02-21 05:13:43 +00:00
Ted Kremenek
a26ad40e41
Add test case for <rdar://problem/6562655>.
...
llvm-svn: 65085
2009-02-20 00:10:09 +00:00
Ted Kremenek
bea465aefb
Update test case to include a leak that occurs at the place of allocation.
...
llvm-svn: 65048
2009-02-19 18:20:28 +00:00
Zhongxing Xu
5b9223fcf2
add test case.
...
llvm-svn: 65036
2009-02-19 08:42:43 +00:00