History log of /external/clang/test/Analysis/misc-ps-region-store.m
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/test/Analysis/misc-ps-region-store.m
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/Analysis/misc-ps-region-store.m
0353b70b6a1f51e0b59c4707d2d73870f075b322 27-Mar-2013 Fariborz Jahanian <fjahanian@apple.com> Fixes a typo in my last patch.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
7e35274df4a598d5e3e4b8b5567bcb256fc2ab2f 27-Mar-2013 Fariborz Jahanian <fjahanian@apple.com> Objective-C: Issue more precise warning when user
is accessing 'isa' as an object pointer.
// rdar://13503456. FixIt to follow in another patch.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
80412c4e28c8247ad9c8d30d04c94938f01b21fb 09-Mar-2013 Anna Zaks <ganna@apple.com> [analyzer] Rename AttrNonNullChecker -> NonNullParamChecker

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
bcde478a5f2600718a225eade94549c9792166b8 03-Jan-2013 Ted Kremenek <kremenek@apple.com> Fix capitalization of Objective-C in diagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
9b29f4fe3d0600edf6ba00d48f2d4f2b1984f247 16-Oct-2012 David Blaikie <dblaikie@gmail.com> Implement GCC's -Wint-to-pointer-cast.

This implementation doesn't warn on anything that GCC doesn't warn on with the
exception of templates specializations (GCC doesn't warn, Clang does). The
specific skipped cases (boolean, constant expressions, enums) are open for
debate/adjustment if anyone wants to demonstrate that GCC is being overly
conservative here. The only really obvious false positive I found was in the
Clang regression suite's MPI test - apparently MPI uses specific flag values in
pointer constants. (eg: #define FOO (void*)~0)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
cdc3a89d5de90b2299c56f4a46c3de590c5184d1 24-Aug-2012 Ted Kremenek <kremenek@apple.com> Fix analyzer tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
c4bac8e376b98d633bb00ee5f510d5e58449753c 16-Aug-2012 Ted Kremenek <kremenek@apple.com> Allow multiple PathDiagnosticConsumers to be used with a BugReporter at the same time.

This fixes several issues:

- removes egregious hack where PlistDiagnosticConsumer would forward to HTMLDiagnosticConsumer,
but diagnostics wouldn't be generated consistently in the same way if PlistDiagnosticConsumer
was used by itself.

- emitting diagnostics to the terminal (using clang's diagnostic machinery) is no longer a special
case, just another PathDiagnosticConsumer. This also magically resolved some duplicate warnings,
as we now use PathDiagnosticConsumer's diagnostic pruning, which has scope for the entire translation
unit, not just the scope of a BugReporter (which is limited to a particular ExprEngine).

As an interesting side-effect, diagnostics emitted to the terminal also have their trailing "." stripped,
just like with diagnostics emitted to plists and HTML. This required some tests to be updated, but now
the tests have higher fidelity with what users will see.

There are some inefficiencies in this patch. We currently generate the report graph (from the ExplodedGraph)
once per PathDiagnosticConsumer, which is a bit wasteful, but that could be pulled up higher in the
logic stack. There is some intended duplication, however, as we now generate different PathDiagnostics (for the same issue)
for different PathDiagnosticConsumers. This is necessary to produce the diagnostics that a particular
consumer expects.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
fe6a011a113b3ddcb32f42af152d7476054e7f79 02-Jul-2012 Jordan Rose <jordan_rose@apple.com> [analyzer] Convert existing checkers to use check::preCall and check::postCall.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
85d87df66a50a15a1957f7213802000b451a8ec9 04-May-2012 Ted Kremenek <kremenek@apple.com> Explicitly model capturing variables for blocks in the static analyzer. Fixes <rdar://problem/11125868>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
b2f6820773aabff3c5c9e0dbb1cbbbda0d80c41f 06-Apr-2012 Patrick Beard <pcbeard@mac.com> Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared.
The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger
the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
31b57628576a2355428fd4b57f828a3aa8423000 03-Apr-2012 Ted Kremenek <kremenek@apple.com> Fix another false positive in RegionStore involving doing loads from symbolic offsets. We still don't
properly reason about such accesses, but we shouldn't emit bogus "uninitialized value" warnings
either. Fixes <rdar://problem/11127008>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
278f1f8d9557babb22b966379dd89039f3f8a440 01-Mar-2012 Anna Zaks <ganna@apple.com> [analyzer] Turn inlining on by default for better testing exposure.

Fix a test, which was most likely an unintended recursive call.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
a8180e5a8795b4b80587662167dfc13646a494a1 20-Jan-2012 Ted Kremenek <kremenek@apple.com> Reenable DeadStoresChecker under --analyze, and move the IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
556b1d0f3a039a691ed4f6dd91b8587435f30b0b 18-Jan-2012 Fariborz Jahanian <fjahanian@apple.com> objc: deprecate direct usage of 'isa' of objc objects
in favor of usage of api's intended for.
// rdar://8290002


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
033a07e5fca459ed184369cfee7c90d82367a93a 04-Aug-2011 Ted Kremenek <kremenek@apple.com> [analyzer] rename all experimental checker packages to have 'experimental' be the common root package.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
ce30688b8aa0effd70a7a69a4d1e3d6a2a86efcd 21-May-2011 Ted Kremenek <kremenek@apple.com> Fix regression in static analyzer's handling of prefix '--' operator. It was being treated as postfix '--' in C mode.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
45fa623886dfb6a23b3cfd6d8764e05884382180 03-Apr-2011 Ted Kremenek <kremenek@apple.com> Fix RegionStore bug when doing a field load whose parent is also a field assigned a LazyCompoundValue. Fixes <rdar://problem/9163742> and PR 9522.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
5188507b9a1b09ec95c14ffadf0e832f2b47aa8a 24-Mar-2011 Ted Kremenek <kremenek@apple.com> Rework checker "packages" and groups to be more hierarchical.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
613744181322b9680a4b3d59cce87d7e5e572c99 17-Mar-2011 Ted Kremenek <kremenek@apple.com> Tweak RegionStore's handling of lazy compound values to use the 'Default' versus 'Direct' binding key, thus allowing specific elements of an array/struct to be overwritten without
invalidating the entire binding. Fixes PR 9455.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
ade3195a201e16e989e9f93a568fb1806519077c 12-Mar-2011 Ted Kremenek <kremenek@apple.com> Re-enable the IdempotentOperations checker for --analyze, and put it and the DeadStores checker into the "deadcode" group.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
cf333339615da345c2ed6e873d94a501810d9f3f 09-Mar-2011 Ted Kremenek <kremenek@apple.com> static analyzer: Fix use-after-free bug in RegionStore involving LazyCompoundValueData not reference counting Store objects.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
c4d2c9074be6eb2091086eddd6c8f052f3b245c8 28-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [analyzer] Remove '-analyzer-check-objc-mem' flag, the nominee for best misnomer award.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
180e03f9761aa55b5adca430706595e1bbb79c4d 28-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [analyzer] Migrate UndefResultChecker to CheckerV2.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
65d39251ff57b8e33cf6d3a7fcc6aa1c6f8cdc68 24-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [analyzer] Remove '-analyzer-experimental-internal-checks' flag, it doesn't have any checkers associated with it anymore.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
38c8fe705ec4a8efa8992b99ab6d264fff14ca36 24-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> Allow passing a list of comma separated checker names to -analyzer-checker, e.g:
-analyzer-checker=cocoa,unix

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
8be5b3aced37e1c7728741c60d47011f11649a58 24-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [analyzer] Migrate ArrayBoundChecker to CheckerV2.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
69355798abdbe5e78d1185af7d4600b9355b5814 24-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [analyzer] Migrate ReturnPointerRangeChecker to CheckerV2.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
23ade507cecd24b03f5e4b5ebaea48eb38060262 15-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [analyzer] Use the new registration mechanism on some of the experimental internal checkers:

CastToStructChecker
FixedAddressChecker
PointerArithChecker
PointerSubChecker

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
c9f2e0f286500c7e747849b3aa9c0e67a4dc90d7 15-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [analyzer] Use the new registration mechanism on the IdempotentOperationChecker.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
f6a19fb92556e040db2d6a7b35b504ba7ebca3bf 25-Jan-2011 Ted Kremenek <kremenek@apple.com> Don't try and symbolicate unions; we don't reason
about them yet. Fixes crash reported in PR 9049.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
093236020718e92c8a192145def28150ed637aaf 13-Jan-2011 Ted Kremenek <kremenek@apple.com> Fix a corner case in RegionStore where we assign
a struct value to a symbolic index into array.
RegionStore can't actually reason about this,
so we were getting bogus warnings about loading
uninitialized values from the array. The solution
is invalidate the entire array when we cannot
represent the binding explicitly.

Fixes <rdar://problem/8848957>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
bb0ba0bca7896e76f8ce9b709ee881cc505e4d5e 09-Nov-2010 Ted Kremenek <kremenek@apple.com> Teach AttrNonNullChecker about transparent unions. Fixes crash reported in <rdar://problem/8642434>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
a1898ddd5d0e46330898930b9185b628b5cede63 27-Oct-2010 Zhongxing Xu <xuzhongxing@gmail.com> If visiting RHS causes us to finish 'Block', e.g. the RHS is a StmtExpr
containing a DoStmt, and the LHS doesn't create a new block, then we should
return RBlock. Otherwise we'll incorrectly return NULL.

Also relax an assertion in VisitWhileStmt(). Reset 'Block' when it is finished.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
555c77a27672186242019b38edac498ac9579b19 15-Sep-2010 Ted Kremenek <kremenek@apple.com> Don't divide-by-zero in RegionStoreManager::getSizeInElements() when getting the size of a VLA. We don't track VLA extents yet,
but we should at least not crash. Fixes <rdar://problem/8424269>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
44f8ef13a3af125eecd408d0fad79a4a1eda5366 14-Sep-2010 Ted Kremenek <kremenek@apple.com> Fix CFGBuilder crash reported in PR 8141.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
818b433a943653b329df56bdaa1b18385603d2bd 10-Sep-2010 Ted Kremenek <kremenek@apple.com> Clean up obtuse wording of checker diagnostic of using an uninitialized value in a function call.

Fixes: <rdar://problem/8409480> “warning: Pass-by-value argument in function call is undefined” message can be improved

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
96ebad66c451d79c9f57b1edb31efaeeb23b9a01 09-Sep-2010 Ted Kremenek <kremenek@apple.com> Rename GRState::getSVal() -> getRawSVal() and getSimplifiedSVal() -> getSVal().

The end result is now we eagarly constant-fold symbols in the analyzer that are perfectly constrained
to be a constant value. This allows us to recover some path-sensitivity in some cases by lowering
the required level of reasoning power needed to evaluate some expressions.

The net win from this change is that the false positive in PR 8015 is fixed, and we also
find more idempotent operations bugs.

We do, however, regress with the BugReporterVisitors, which need to be modified to understand
this constant folding (and look past it). This causes some diagnostic regressions in plist-output.m
which will get addressed in a future patch. plist-output.m is now marked XFAIL, while
plist-output-alternate.m now tests that the plist output is working, but with the suboptimal
diagnostics. This second test file will eventually be removed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
6610e7ee74ba1e7c4d8d113b71d1f20ae3a37a43 02-Sep-2010 Zhongxing Xu <xuzhongxing@gmail.com> Tweak test case. 'int' would introduce out-of-bound issues. We focus on array
index constraints in this case.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
ab9f13e73d951accb5a028783032ce8a695e8048 02-Sep-2010 Ted Kremenek <kremenek@apple.com> Add yet another test case for PR 8015, showing how reasoning over symbolic indices should exactly resolve over multiple index possibilities (and thus suppress the false positive in the test).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
19c74a05c44c9e9966961975992ee1555d556d45 02-Sep-2010 Ted Kremenek <kremenek@apple.com> Add another test case for PR 8015, here with the array index being within a valid range and not just a single constant.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
41be967969b060d7192411665138de539d59d93b 02-Sep-2010 Ted Kremenek <kremenek@apple.com> Partial fix for PR 8015 (fix is actually by Jordy Rose, and I added a test case for follow-on work). This patch adds a bandaid for RegionStore's limited reasoning about symbolic array values.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
1e4a32acfad6a9f4cf555fdbc5c6c44c558b9fcb 02-Sep-2010 Ted Kremenek <kremenek@apple.com> Don't assert in the analyzer when analyze code does a byte load from a function's address. Fixes PR 8052.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
6216dc0c5b9071b4c10f78718a64ca916c00a384 30-Aug-2010 Tom Care <tom.care@uqconnect.edu.au> Adjusted the semantics of assign checking in IdempotentOperationChecker
- Fixed a regression where assigning '0' would be reported
- Changed the way self assignments are filtered to allow constant testing
- Added a test case for assign ops
- Fixed one test case where a function pointer was not considered constant
- Fixed test cases relating to 0 assignment

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
6d0e6ce200aa06b06f0e9b493ed365bbe2982cee 28-Aug-2010 Tom Care <tom.care@uqconnect.edu.au> Enabled relaxed LiveVariables analysis in the path-sensitive engine to increase the coverage of bugs. Primarily affects IdempotentOperationChecker.
- Migrated a temporarily separated test back to its original file (bug has been fixed, null-deref-ps-temp.c -> null-deref-ps.c)
- Changed SymbolManager to use relaxed LiveVariables
- Updated several test cases that the IdempotentOperationChecker class now flags
- Added test case to test relaxed LiveVariables use by the IdempotentOperationChecker

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
80776387c299a40f32dc95246bef0098bee8d6dc 02-Aug-2010 Ted Kremenek <kremenek@apple.com> Add test case for <rdar://problem/8258814>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
281e9dc6ba6ff10bf910b0fc8898dff2a429f156 29-Jul-2010 Ted Kremenek <kremenek@apple.com> Augment RegionStore::BindStruct() to bind symbolicated struct values. This fixes a false path issue reported in <rdar://problem/8243408> and also spurs another cause where the idempotent operations checker fires.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
3f8612b46949a73729ef0e0d985cc8cce1ec096f 23-Jun-2010 Ted Kremenek <kremenek@apple.com> Correctly construct an ElementRegion for alloca() + pointer arithmetic. Fixes analyzer
crash reported in PR 7450.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
32f901092daa4a53c7e012408c1f59d73ba29ff5 27-May-2010 Ted Kremenek <kremenek@apple.com> Discard qualifiers for ElementRegions so that a 'const' doesn't change the lookup semantics
in the symbol store. We may wish to push this down into the StoreManager itself.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
d617b85d12169ccb4bdf281836a281d0c173ba6a 16-Apr-2010 Ted Kremenek <kremenek@apple.com> Static analyzer: Don't crash when casting a symbolic region address to a float. Fixes PR 6854.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
1b49d762e9658b6b6d1b677dca005324a7b1126d 15-Apr-2010 Ted Kremenek <kremenek@apple.com> Fix PR 6844, a regression caused by the introduction of llvm_unreachable for the default
case in GRExprEngine::Visit (in r101129). Instead, enumerate all Stmt cases and have
no 'default' case in the switch statement. When we encounter a Stmt we don't handle,
we should explicitly add it to the switch statement.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
115c1b9cc758d15f38e1d2ad4cf07b1cacfb3115 11-Apr-2010 Ted Kremenek <kremenek@apple.com> Fix CFG bug where bases of member expressions were not always evaluated in a lvalue context. Fixes <rdar://problem/7813989>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
974d97b251aaf5a735af83367cd3a930f3eb4333 07-Apr-2010 Ted Kremenek <kremenek@apple.com> Fix crash in StoreManager::CastRegion() when the base region is a type with 0 size.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
68b9a599dda7c422a417dfdc330adb5a880eb0e5 07-Apr-2010 Ted Kremenek <kremenek@apple.com> Teach MemRegion::getBaseRegion() about ObjCIvarRegions. We want to treat
them the same way as fields. This fixes a regression in RegionStore::RemoveDeadbindings()
that emerged from going to the cluster-based analysis.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
4552ff080062cacc4b57906e6f2f09e9d796b6a4 30-Mar-2010 Ted Kremenek <kremenek@apple.com> RegionStore: specially handle loads from integer global variables declared 'const'.
Fixes a false positive reported in PR 6288.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
8891c4277a2e5b729214165414dcfe929b06e9b0 30-Mar-2010 Ted Kremenek <kremenek@apple.com> Change the analyzer to recognize (but ignore) assignments to isa. Fixes PR 6302.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
86d07a11f164a5dc488842dc932c8fc587b35d4f 19-Mar-2010 Ted Kremenek <kremenek@apple.com> Add test case for <rdar://problem/7770737>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
786cc72ecaadafbe339edc548afa9daf891c4278 23-Feb-2010 Ted Kremenek <kremenek@apple.com> Add test case for <rdar://problem/7242010>, which appears to have been fixed
in the recent changes to RegionStore::InvalidateRegions(). Note that we
are still not yet modeling 'memcpy()' explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
24c37ad067320e9d40978d97a73e4bca0f0eae54 13-Feb-2010 Ted Kremenek <kremenek@apple.com> Enhance RegionStore::InvalidateRegions() to correctly invalidate bindings
by scanning through the values of LazyCompoundVals.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
85248734f404fbb9b2f88ecd5296761a8578def6 06-Feb-2010 Ted Kremenek <kremenek@apple.com> Teach RegionStore::InvalidateRegions() to also invalidate static variables referenced by blocks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
cada305b86cdcfe4f8ceb7007736522a98c0f403 05-Feb-2010 Ted Kremenek <kremenek@apple.com> Add test case showing the analyzer invalidates '__block' variables when the block is passed as an argument to an ObjC method.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
565e465c6d0093f1bf8414b2cabdc842022385a9 05-Feb-2010 Ted Kremenek <kremenek@apple.com> Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
68ebd83120dfcfc7625ba0e47c9395ed32b20997 04-Feb-2010 Ted Kremenek <kremenek@apple.com> Add assorted test cases from PR 4172.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
fee90811c665893bc27a9bfa8b116548afe1b89b 27-Jan-2010 Ted Kremenek <kremenek@apple.com> Teach RegionStore to handle initialization of incomplete arrays in structures using a compound value. Fixes <rdar://problem/7515938>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
c50e6df965ff264952d8d5805d151f89c89af302 11-Jan-2010 Ted Kremenek <kremenek@apple.com> Switch RegionStore over to using <BaseRegion+raw offset> to store
value bindings. Along with a small change to OSAtomicChecker, this
resolves <rdar://problem/7527292> and resolves some long-standing
issues with how values can be bound to the same physical address by
not have the same "key". This change is only a beginning; logically
RegionStore needs to better handle loads from addresses where the
stored value is larger/smaller/different type than the loaded value.
We handle these cases in an approximate fashion now (via
CastRetrievedVal and help in SimpleSValuator), but it could be made
much smarter.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
4a749b957f28292e8412b7c13b01ca4baeb78d24 09-Jan-2010 Ted Kremenek <kremenek@apple.com> Fix overzealous assertion in GRExprEngine::VisitLValue(). A
CallExpr/ObjCMessageExpr can be visited in an "lvalue" context if it
returns a struct temporary. Currently the analyzer doesn't reason
about struct temporary returned by function calls, but we shouldn't
crash here either.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
e030358cc06e1cbce3c2e00ca67c946f9164b2a8 09-Jan-2010 Chris Lattner <sabre@nondot.org> add a bunch of missing prototypes to tests


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
cafefbe180bacd2c02c87ae1193f83fc6798cdfc 24-Dec-2009 Ted Kremenek <kremenek@apple.com> Add test case for PR 4358.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
5bbc8e76408af22a0c706a4199c684bf5f5a5cb3 23-Dec-2009 Ted Kremenek <kremenek@apple.com> Fix PR 5857. When casting from a symbolic region to an integer back to a pointer value, we were not correctly layering the correct ElementRegion on the original SymbolicRegion.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 15-Dec-2009 Daniel Dunbar <daniel@zuster.org> Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
5348f94abd0e9d3945da8d059b55b156967e8ff9 14-Dec-2009 Ted Kremenek <kremenek@apple.com> Fix: <rdar://problem/7468209> SymbolManager::isLive() should not crash on captured block variables that are passed by reference


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
ef74f4c6dcd59b3af1de9d8f613c1caf3e6cb63d 14-Dec-2009 Zhongxing Xu <xuzhongxing@gmail.com> Replace clang-cc with clang -cc1.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
2b87ae45e129b941d0a4d221c9d4842385a119bd 11-Dec-2009 Ted Kremenek <kremenek@apple.com> Enhance understanding of VarRegions referenced by a block whose declarations are outside the current stack frame. Fixes <rdar://problem/7462324>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
9f303beca8a71368e34f53dd14eed7a3b51331ca 03-Dec-2009 Ted Kremenek <kremenek@apple.com> Add another blocks test case illustrating how parameters passed-by-reference in block invocations are invalidated (just like function calls).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
2ffbfd96a3f1c2e55c0e950d941fbb4dbcd137b9 03-Dec-2009 Ted Kremenek <kremenek@apple.com> Add value invalidation logic for block-captured variables. Conceptually invoking a block (without specific reasoning of what the block does) can invalidate any value to it by reference when the block was created.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
8a90ac0e85e8c5758b585fe486ee7db01c53fb98 29-Nov-2009 Daniel Dunbar <daniel@zuster.org> Normalize options to use '-FOO' instead of '--FOO'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
7c5c965b876c4c698d22b1e38b6b0b2534036110 21-Nov-2009 Ted Kremenek <kremenek@apple.com> Add RegionStore test case that shows that floating point values are also implicitly tracked for undefined values. (test case for <rdar://problem/6811085>).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
8ea06e95c396aa56a24cc9325d7ac6b27422adcf 21-Nov-2009 Ted Kremenek <kremenek@apple.com> Add another test case to show the precision of RegionStore over
BasicStore. In this example, BasicStore would lose information about
the pointer in path after '*path++', causing the analyzer to falsely
flag a null dereference. This addresses <rdar://problem/7191542>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
027e2667315f265a85c6241f26e8a514db219b3f 19-Nov-2009 Ted Kremenek <kremenek@apple.com> Fix crash when using --analyzer-store=region when handling initializers with nested arrays/structs whose values are not explicitly specified. Fixes <rdar://problem/7403269>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
8382cf57b722f130f1a6b45380639871c07271c1 13-Nov-2009 Ted Kremenek <kremenek@apple.com> Add clang-cc option "--analyzer-experimental-internal-checks". This
option enables new "internal" checks that will eventually be turned on
by default but still require broader testing.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
4f3dc698a1bbeea16155e51dfc7d0f69ff689598 09-Nov-2009 Zhongxing Xu <xuzhongxing@gmail.com> Add checker for CWE-588: Attempt to Access Child of a Non-structure Pointer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
4fcfde4d5c8f25e40720972a5543d538a0dcb220 08-Nov-2009 Daniel Dunbar <daniel@zuster.org> Eliminate &&s in tests.
- 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
7344c878a73418cfade56e0c2281ac7324a609b2 06-Nov-2009 Ted Kremenek <kremenek@apple.com> testing: Merge PR3135.c into misc-ps-region-store.m.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
6f516f50e53b621613d281ef186c76c5160d9d35 06-Nov-2009 Ted Kremenek <kremenek@apple.com> Sentence-case bug type, and pull tests from region-only-test.c into misc-ps-region.store.m (removing an extra unneeded test file). Also add a bunch of FIXME comments for future enhancements.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86282 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
5bbe789e1084996179bf4b103768d73cbd4446c8 30-Oct-2009 Ted Kremenek <kremenek@apple.com> Handle loading of field values from LazyCompoundVals in GRExprEngine::VisitMemberExpr().
This fixes the crash reported in PR 5316.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
01756192fe41f07b36498ab5ead5653d6dae16fe 29-Oct-2009 Ted Kremenek <kremenek@apple.com> Fix an insidious bug in RegionStore::RemoveDeadBindings() pointed out
by Zhongxing Xu. RemoveDeadBindings() would falsely prune
SymbolicRegions from the store that wrapped derived symbols whose
liveness could only be determined after scanning the store.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
a65c387e6cc7df4507f60dfc0744bbdc91825333 27-Oct-2009 Ted Kremenek <kremenek@apple.com> Add test cases for <rdar://problem/7332673>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
ab22ee9ede5532f35c64b8eaccb4210f3f16397d 20-Oct-2009 Ted Kremenek <kremenek@apple.com> RegionStore: Use the *default* binding (instead of the *direct* binding) of an Objective-C object
region when doing lazy value retrieval of an ivar.

This fixes: <rdar://problem/7312221>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
cd8f6ac9b613e1fe962ebf9c87d822ce765275e6 06-Oct-2009 Ted Kremenek <kremenek@apple.com> Fix: <rdar://problem/7275774> Static analyzer warns about NULL pointer when
adding assert

This fix required a few changes:

SimpleSValuator:
- Eagerly replace a symbolic value with its constant value in EvalBinOpNN
when it is constrained to a constant. This allows us to better constant fold
values along a path.
- Handle trivial case of '<', '>' comparison of pointers when the two pointers
are exactly the same.

RegionStoreManager:





git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
95efe0f7fb2ff2d83f9e6f97d707a79370034d73 29-Sep-2009 Ted Kremenek <kremenek@apple.com> Fix: <rdar://problem/7261075> [RegionStore] crash when handling load: '*((unsigned int *)"????")'

This issue was originally reported via personal email by Thomas Clement!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
9e17cc6abb5d55bd776d379b20d5b476bcc46c71 29-Sep-2009 Ted Kremenek <kremenek@apple.com> Fix really insidious bug in RegionStoreManager::RemoveDeadBindings()
identified with a false positive reported by Thomas Clement. This
involved doing another rewrite of
RegionStoreManager::RemoveDeadBindings(), which phrases the entire
problem of scanning for dead regions as a graph exploration problem.
It is more methodic than the previous implementation.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
a5971b3b18ee00f799c646644c7c04014b88fdcd 29-Sep-2009 Ted Kremenek <kremenek@apple.com> Reapply most of r82939, but add a guard that FieldRegions and friends
are only specially treated by RegionStore::InvalidateRegion() when
their super region is also invalidated. When this isn't the case,
conjure a new symbol for a FieldRegion. Thanks to Zhongxing Xu and
Daniel Dunbar for pointing out this issue.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
8780679b02bea5ab6360f3f8ebf3b221aaeda93f 27-Sep-2009 Ted Kremenek <kremenek@apple.com> Fix:

<rdar://problem/6914474> checker doesn't realize that variable might
have been assigned if a pointer to that variable was passed to another
function via a structure

The problem here was the RegionStoreManager::InvalidateRegion didn't
invalidate the bindings of invalidated regions. This required a
rewrite of this method using a worklist.

As part of this fix, changed ValueManager::getConjuredSymbolVal() to
require a 'void*' SymbolTag argument. This tag is used to
differentiate two different symbols created at the same location.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
80417471b01ab2726cd04773b2ab700ce564073c 25-Sep-2009 Ted Kremenek <kremenek@apple.com> Fix <rdar://problem/7249327> by allowing silent conversions between signed and unsigned integer values for symbolic values. This is an intermediate solution (i.e. hack) until we support extension/truncation of symbolic integers.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
35dcad8aeef4fc499ab4f057cf40a5da3cc0ee45 24-Sep-2009 Ted Kremenek <kremenek@apple.com> Fix crash in RegionStoreManager::Bind() by using 'getAs<PointerType>()' instead of 'cast<PointerType>()' (to handle pointer typedefs).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
0954cdec4b13f1b3fd4c8711e02ded914968000b 24-Sep-2009 Ted Kremenek <kremenek@apple.com> Fix: <rdar://problem/7249340> [RegionStore] model stores to symbolic parameter regions

The issue was a discrepancy between how RegionStoreManager::Bind() and
RegionStoreManager::Retrieve() derived the "key" for the first element
of a symbolic region.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
cf54959eae25fb3050f41833f0eab91042fb1269 22-Sep-2009 Ted Kremenek <kremenek@apple.com> Fix: <rdar://problem/7242006> [RegionStore] compound literal assignment with floats not honored


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
69181a863c9a87ea84e96157191f855043b86cfb 22-Sep-2009 Ted Kremenek <kremenek@apple.com> Provide intermediate solution to handling assignments to structs via an
integer pointer. For now just invalidate the fields of the struct.

This addresses: <rdar://problem/7185607> [RegionStore] support invalidation of bit fields using integer assignment



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
d4e5a606c9c64e24c05e5f4610796087e911fb9c 06-Aug-2009 Ted Kremenek <kremenek@apple.com> Fix a couple false positive "uninitialized value" warnings with RegionStore
involving reasoning about unions (which we don't handle yet).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
bfc8168e77abd451af76ae8c01dfa346ffe87dd9 05-Aug-2009 Zhongxing Xu <xuzhongxing@gmail.com> Add test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
28ba10ce2ad9b03ec33db3790a519d64a2e16b6a 04-Aug-2009 Ted Kremenek <kremenek@apple.com> Add test case testing field sensitivity. Reduced from <rdar://problem/7114618>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
386af0a224d8943f0c818d66fabc56642a458c8c 18-Jul-2009 Ted Kremenek <kremenek@apple.com> Add test case for bug fix in r76262.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
a6275a534da701f37d19a068e6361e5f10f983a1 15-Jul-2009 Ted Kremenek <kremenek@apple.com> More test cases revealed that the logic in StoreManager::InvalidateRegion() needs more finesse when handling the invalidation of pointers. Pointers that were invalidated as integers could later cause problems for clients using them as pointers. It is easier for us to model a symbolic value as a pointer rather than modeling a non-symbolic value as a pointer.

This patch causes:
- StoreManager::InvalidateRegion() to not used the casted type of a region if
it would cause a pointer type to be invalidated as a non-pointer type.
- Pushes RegionStore::RetrieveElement() further by handling retrievals from
symbolic arrays that have been invalidated. This uses the new SymbolDerived
construct that was recently introduced.

The result is that the failing test in misc-ps-region-store-x86_64.m now passes.
Both misc-ps-region-store-x86_64.m and misc-ps-region-store-i386.m contain a
test case that motivated this change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
0c106995d52738c4cc0e25edffd6ae2ffaea817d 15-Jul-2009 Ted Kremenek <kremenek@apple.com> Split out 'test2' into an i386 and x86_64 file, illustrating how the
test behavior differs between architectures. When this is no longer
the case, these tests will be merged.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
b4aa4845b02c691b12e67731d05f42bceea786b1 15-Jul-2009 Ted Kremenek <kremenek@apple.com> This test currently only passes for 32-bit archs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
60fbe8f79838bff41fe9f5ed506ea9bc89d5d1df 14-Jul-2009 Ted Kremenek <kremenek@apple.com> Enhance RegionStoreManager to handle 'Retrieve's from SymbolicRegions. We do this by silently wrapping the region with an ElementRegion. This fixes the failures in misc-ps-region-store.m.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
54ca9b1d45fbfb0b3eeab581e0d10403cc922e62 13-Jul-2009 Ted Kremenek <kremenek@apple.com> Enhance SimpleSValuator::EvalBinOpNN to recognize the trivial case
where we are comparing a symbolic value against itself, regardless of
the nature of that symbolic value.

This enhancement identified a case where RegionStoreManager is not
correctly symbolicating the values of the pointees of parameters. The
failing test is now in 'test/Analysis/misc-ps-region-store.m', with
that test file now (temporarily) marked XFAIL.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
d7d5f0223bd30dfd618762349c6209dd1d5ea3e6 24-Mar-2009 Daniel Dunbar <daniel@zuster.org> Rename clang to clang-cc.

Tests and drivers updated, still need to shuffle dirs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
f684d56828c3917a6a4f1037e22cb0c37e5665c2 05-Mar-2009 Ted Kremenek <kremenek@apple.com> Retrofit some basic tracking of ivars (for the current object) into BasicStore.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
aad45e0e0fef78af16849714047d877bb4473de8 05-Mar-2009 Ted Kremenek <kremenek@apple.com> Add test case for RegionStore's tracking of the ivars of 'self'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
d104a09d30ec35cb67931051d5d0c1ff2ee2d697 04-Mar-2009 Ted Kremenek <kremenek@apple.com> 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
be1fe1eb12a1cb91c8e3a9fcc2db4dfe989def6c 17-Feb-2009 Ted Kremenek <kremenek@apple.com> Static Analyzer driver/options (partial) cleanup:
- Move all analyzer options logic to AnalysisConsumer.cpp.
- Unified specification of stores/constraints/output to be:
-analyzer-output=...
-analyzer-store=...
-analyzer-constraints=...
instead of -analyzer-range-constraints, -analyzer-store-basic, etc.
- Updated drivers (ccc-analyzer, scan-builds, new ccc) to obey this new
interface
- Updated test cases to conform to new driver options


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m
2dabd42df78e8d379ed0eebbf8d4a7aac86a9b6f 22-Jan-2009 Ted Kremenek <kremenek@apple.com> The 'misc-ps.m' test case now passes with RegionStore. One case needed to be split out into 'misc-ps-basic-store.m' and 'misc-ps-region-store.m' because the behavior was different between the two store models (RegionStore flags an additional valid bug).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps-region-store.m