History log of /external/clang/test/Analysis/misc-ps.m
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
176edba5311f6eff0cad2631449885ddf4fbc9ea 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master Clang for rebase to r222490.

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

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/Analysis/misc-ps.m
42adacbb9bc7b6172bd36f9baa297180c77ab6d7 11-Oct-2012 Ted Kremenek <kremenek@apple.com> Remove OSAtomicChecker.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
991bcb4370fe849603346ebbddc8dd47bc29d235 22-Sep-2012 Jordan Rose <jordan_rose@apple.com> [analyzer] Check that an ObjCIvarRefExpr's base is non-null even as an lvalue.

Like with struct fields, we want to catch cases like this early,
so that we can produce better diagnostics and path notes:

PointObj *p = nil;
int *px = &p->_x; // should warn here
*px = 1;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
e3f3825bd82f84f2a1ae0a02274a33298bb720b3 22-Aug-2012 Ted Kremenek <kremenek@apple.com> Remove BasicConstraintManager. It hasn't been in active service for a while.

As part of this change, I discovered that a few of our tests were not testing
the RangeConstraintManager. Luckily all of those passed when I moved them
over to use that constraint manager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
61b135a20b9e0ee7c4fe7ce4fdbc1815c5ff66ff 27-Jul-2012 Ted Kremenek <kremenek@apple.com> Tweak test case to not emit warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
6da60499eae46caf9f92f7ba35c607043dc3f7fa 27-Jul-2012 Ted Kremenek <kremenek@apple.com> Look at the preceding CFGBlock for the expression to load from in ExprEngine::VisitGuardedExpr
instead of walking to the preceding PostStmt node. There are cases where the last evaluated
expression does not appear in the ExplodedGraph.

Fixes PR 13466.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
6400f02ab2048eb9aa2bc31b26db9f19a99d35f4 07-May-2012 Anna Zaks <ganna@apple.com> [analyzer] Fix a crash in triggered by OSAtomicChecker.

SValBuilder should return an UnknownVal() when comparison of int and ptr
fails. Previous to this commit, it went on assuming that we are dealing
with pointer arithmetic.

PR12509, radar://11390991

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
625bb569df0c34feec0d52c0ec5215f21ef2e054 14-Feb-2012 Dmitri Gribenko <gribozavr@gmail.com> Generalize -Wempty-body: warn when statement body is empty (closes: PR11329)

* if, switch, range-based for: warn if semicolon is on the same line.
* for, while: warn if semicolon is on the same line and either next
statement is compound statement or next statement has more
indentation.

Replacing the semicolon with {} or moving the semicolon to the next
line will always silence the warning.

Tests from SemaCXX/if-empty-body.cpp merged into SemaCXX/warn-empty-body.cpp.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
2cbe791d3e9b26f30196c4852da75d9ad67b4ad9 20-Dec-2011 Anna Zaks <ganna@apple.com> [analyzer] Do not invalidate arguments when the parameter's
type is a pointer to const. (radar://10595327)

The regions corresponding to the pointer and reference arguments to
a function get invalidated by the calls since a function call can
possibly modify the pointed to data. With this change, we are not going
to invalidate the data if the argument is a pointer to const. This
change makes the analyzer more optimistic in reporting errors.
(Support for C, C++ and Obj C)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
b44b96668653e2b19c33712edf73330e2904cd20 18-Dec-2011 Dylan Noblesmith <nobled@dreamwidth.org> test/Analysis: fix error message



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
ccf1bfde160c03c677ba530c9dcb77365a9c2d7b 14-Nov-2011 Ted Kremenek <kremenek@apple.com> [analyzer] teach AnalysisDeclContext::getSelfDecl() about blocks that capture the 'self' variable of the enclosing ObjC method decl. Fixes <rdar://problem/10380300>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
a4c7a4314ffbe402091695874e93d9b0a79c8099 29-Jul-2011 Ted Kremenek <kremenek@apple.com> Really remove FlatStoreManager and BasicStoreManager, this time from the driver. Also remove associated tests. Sorry for the messy commits; this is the result of a botched Git merge.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
6e744db7c294f357e7e0af628275331f3a6c1b6b 19-May-2011 Ted Kremenek <kremenek@apple.com> Teach static analyzer to analyze Objective-C methods in category implementations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
bc869de349227707a07ccc783344d255cf37ec16 10-May-2011 Ted Kremenek <kremenek@apple.com> Elide __label__ declarations from the CFG. This resolves a crash in CFGRecStmtDeclVisitor (crash in static analyzer).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
8a285ae6fc4926cc4e419025eec63e2d6696e13f 26-Apr-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> Emit a -Wnull-dereference warning for "*null" not just "*null = something". Addresses rdar://9269271.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
e9cd9c0016f103fd45d41d136d5d1084aa42eb75 13-Mar-2011 Ted Kremenek <kremenek@apple.com> Fix CFG assertion failure reported in PR 9467. This was due to recent changes in optimizing CFGs for switch statements.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
e71f3d587844110d836c82250830b27b1651afdb 02-Mar-2011 Ted Kremenek <kremenek@apple.com> Teach CFGBuilder to prune trivially unreachable case statements.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
3267d9563f8265bfce967b3801273a7c53b91346 28-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [analyzer] Migrate NoReturnFunctionChecker to CheckerV2.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.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.m
f226d18f0f49394cec460699f4268e32bd0ce833 24-Feb-2011 Ted Kremenek <kremenek@apple.com> Fix tiny error in CFG construction for BinaryConditionalOperators, making sure the branch always has two successors. Also teach Environment::getSVal() about OpaqueValueExprs.

This fixes a crash reported in PR9287, and also fixes a false positive involving the value of such ternary
expressions not properly getting propagated.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
6b12da9f89b7863e6fc995312355b94197b75657 21-Feb-2011 Ted Kremenek <kremenek@apple.com> Fix a CFGBuilder bug exposed on convoluted control-flow in the Linux kernel.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.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.m
027a6abdd6cedc0b8203da72eed6d15c796dce9d 15-Feb-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> [analyzer] Use the new registration mechanism on some of the internal checks. These are:

StackAddrLeakChecker
ObjCAtSyncChecker
UnixAPIChecker
MacOSXAPIChecker

The rest have/create implicit dependencies between checkers and need to be handled differently.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
ac518ecd5204116eb976c8d77ccf2dd2c7352148 11-Feb-2011 Ted Kremenek <kremenek@apple.com> Add test case for PR 8646.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
e4ae4dc87fa57e3062077514964b6d75bfa1fed1 15-Nov-2010 Ted Kremenek <kremenek@apple.com> Remove invalid assertion from CFG builder. When building the CFG pieces for a ternary '?' expression,
it is possible for the confluence block to only have a single predecessor due to calls to 'noreturn'
functions. Fixes assertion failure reported in PR 8619.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
948163b4986dfb5060c0dbd2e5910431640e56d1 15-Nov-2010 Ted Kremenek <kremenek@apple.com> Relax assertion in SValuator so that we don't crash when analyzing a call via a function pointer that
casts the return value to something completely different. While we need better reasoning here,
we should definately not crash.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
29836f9e4750f1ccb72c24f661c20686507f0063 12-Nov-2010 Ted Kremenek <kremenek@apple.com> RegionStore/BasicStore: do not return UndefinedVal for accesses to concrete addresses; instead return UnknownVal. This
leads it up to checkers (e.g., DereferenceChecker) to guard against illegal accesses (e.g., null dereferences).

Fixes PR 5272 and <rdar://problem/6839683>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
c1143e598d6f2d8da045888298a9893a84e678df 26-Oct-2010 Ted Kremenek <kremenek@apple.com> Fix lazy symbolication bug in RegionStore involving fields of global variables. When invalidated, the entire
globals memory space gets assigned a symbolic value, but that value was not being used for lazy symbolication
of fields of globals. This could result in cases where bogus null dereferences were being reported.

Fixes PR 8440.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
0d4f7671882a4e902f12504b46eb486dfbf58515 25-Oct-2010 Ted Kremenek <kremenek@apple.com> Add check for UnknownVals for mutexes in ObjCAtSyncChecker. Fixes crash reported in PR 8458.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
1adee4b62016e7db899019b1d5a63c30bd61af06 21-Oct-2010 Ted Kremenek <kremenek@apple.com> Tweak the ObjCAtSyncChecker to assume that a mutex is non-nil after checking that it is
nil. Otherwise we can get false paths where a second @synchronized using the mutex
can have a bogus warning. Fixes <rdar://problem/8578650>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
1b2ad2fd9e2d5352144481aa1fd995d333d9adc9 20-Sep-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Revert r114316, -Wunused-value enabled by default was intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
6dff2288a8054bdbc97217568e5831bcce809db8 19-Sep-2010 Argyrios Kyrtzidis <akyrtzi@gmail.com> Make -Wunused-value off by default, matching GCC. Fixes rdar://7126194.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
8f3b834471b158d65d490e3458fa16ba659ec105 15-Sep-2010 Ted Kremenek <kremenek@apple.com> Relax assertion in CFG builder when processing ForStmts. This fixes an assertion failure
on code containing GNU statement expressions reported in PR 8141.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
0853c7f840ee8e23c8271572e73ebab3d26b8fd5 10-Sep-2010 Ted Kremenek <kremenek@apple.com> Polish diagnostics for null dereferences via ObjC ivar accesses. Finishes up <rdar://problem/6352035>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
4f6aa77fda986a9ecd453460ef3ec797bedaaa7d 10-Sep-2010 Ted Kremenek <kremenek@apple.com> Implement: <rdar://problem/6351970> rule request: warn if @synchronized mutex can be nil

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
977a58a8fd16bccfbc11b5c4c70b869fded9f8b9 09-Sep-2010 Ted Kremenek <kremenek@apple.com> Include test case for <rdar://problem/5880430>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
5d1d7ae120c2c8e6cba5d2a712b33500a5aecc10 03-Sep-2010 Anders Carlsson <andersca@mac.com> Get rid of the "functions declared 'noreturn' should have a 'void' result type" warning.

The rationale behind this is that it is normal for callback functions to have a non-void return type
and it should still be possible to mark them noreturn. (JavaScriptCore is a good example of this).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
f69cf18aa240b038dfd89f249e63f4cc6e1c5f65 01-Sep-2010 Ted Kremenek <kremenek@apple.com> Don't assert in CastSizeChecker when the casted-to pointee is an incomplete type. Fixes PR 8050.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
9edd4d0f73b81baaa7153982bf716949a5b1b926 28-Aug-2010 Tom Care <tom.care@uqconnect.edu.au> Added checking of (x == x) and (x != x) to IdempotentOperationChecker and updated test cases flagged by it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
34feff654c6304e0a59ceb1376989d28dbc956ff 27-Aug-2010 Ted Kremenek <kremenek@apple.com> Fix horrible GRExprEngine bug where switch statements with no 'case:' statements would cause the path to get prematurely aborted. Fixes <rdar://problem/8360854>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
58f281f7d54976f23ed4fa23a10ff1ab9c7037fe 19-Aug-2010 Ted Kremenek <kremenek@apple.com> Add warning for functions/blocks that have attribute 'noreturn' but return a non-void result. (<rdar://problem/7562925>)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
a277e7764bbe2752f900bf595654f9ad433f3961 09-Aug-2010 Jordy Rose <jediknil@belkadan.com> Allow EvalBinOpNN to handle expressions of the form $a+$b if $b can be reduced to a constant.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
b60a77e453d32db0ab1914d28e175c2defc0eb65 01-Aug-2010 John McCall <rjmccall@apple.com> Only run the jump-checker if there's a branch-protected scope *and* there's
a switch or goto somewhere in the function. Indirect gotos trigger the
jump-checker regardless, because the conditions there are slightly more
elaborate and it's too marginal a case to be worth optimizing.

Turns off the jump-checker in a lot of cases in C++. rdar://problem/7702918


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
3e5637f8a1c5b3cc3fa9d4e33a5763883ea97fc6 27-Jul-2010 Ted Kremenek <kremenek@apple.com> Finesse 'idempotent operations' analyzer issues to include the opcode of the binary operator for clearer error reporting. Also remove the 'Idempotent operation' prefix in messages; it's redundant since the bug type is the same.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
cb07788e20f63ee61862af1c5ee711d9f4c5bf0e 17-Jul-2010 Ted Kremenek <kremenek@apple.com> Fix '<rdar://problem/8202272> __imag passed non-complex should not crash' by removing a bogus assertion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
df4ca423ec7d9b62842e112d1b824faa08b64810 16-Jul-2010 Tom Care <tcare@apple.com> Improved false positive rate for the idempotent operations checker and moved it into the default path-sensitive analysis options.
- Added checks for static local variables, self assigned parameters, and truncating/extending self assignments
- Removed command line option (now default with --analyze)
- Updated test cases to pass with idempotent operation warnings

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
8b5dec3002bd3e17061a8bf1fc35ba82912ec768 07-Jul-2010 Chris Lattner <sabre@nondot.org> implement PR7569, warning about assignment to null, which
people seem to write when they want a deterministic trap.
Suggest instead that they use a volatile pointer or
__builtin_trap.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
dcee3ce97fc76f20ce8f5a7451071e3dec537073 01-Jul-2010 Ted Kremenek <kremenek@apple.com> Fix PR 7475 by enhancing the static analyzer to also invalidate bindings for non-static global variables
when calling a function/method whose impact on global variables we cannot accurately estimate.
This change introduces two new MemSpaceRegions that divide up the memory space of globals, and causes
RegionStore and BasicStore to consult a binding to the NonStaticGlobalsMemSpaceRegion when lazily
determining the value of a global.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
5ca129c2558a13d7d4b2b76fee8404bc07466ce9 27-Jun-2010 Jordy Rose <jediknil@belkadan.com> Implicitly compare symbolic expressions to zero when they're being used as constraints. Part of PR7491.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
fcd783d583d270b7ec1ec3e0fcf83cd93d30e381 15-Jun-2010 Ted Kremenek <kremenek@apple.com> Change AnalysisConsumer to analyze functions created by instantiantiating a macro. Fixes PR 7361.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
f0af777aff72b58333edcf258e30998e865bdef3 26-May-2010 Ted Kremenek <kremenek@apple.com> Predefine the '__clang_analyzer__' macro when using '-analyze'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
fadebbafe622752c3c6565b53ce8cd42bbbbd90c 13-May-2010 Ted Kremenek <kremenek@apple.com> Don't add a null successor to a CFGBlock when the contents of an @synchronized statement is empty.
Fixes <rdar://problem/7979430>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
862b24f8e9b1a3b332399591e48b303f57f01d0a 29-Apr-2010 Ted Kremenek <kremenek@apple.com> Fix CFG crasher involving statement expressions reported in PR 6938.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
8ec4aac6d3dee698e4cb7b9f540d962e4ccab468 09-Feb-2010 Ted Kremenek <kremenek@apple.com> Fix lookup of fields from lazy bindings to check if the region is
NULL, not the store, to determine if a lookup succeeded. The store
can be null if it contained no bindings. This fixes a false positive
reported to me by a user of the analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
81861abe9cd1669ca46e13866f77f7ece8c4c85f 06-Feb-2010 Ted Kremenek <kremenek@apple.com> Also teach RegionStore::RetrieveVar() to handle 'static' pointers that are implicitly initialized to NULL.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
4dc1566a80648a74a19409c425809fa6a1683bef 06-Feb-2010 Ted Kremenek <kremenek@apple.com> Fix regression in RegionStore (from BasicStore) where static variables were not treated as being implicitly initialized to 0 (and instead were getting symbolicated).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
95a011204fec58cc5dbc4f4a9830a8f0435c4b72 04-Feb-2010 Ted Kremenek <kremenek@apple.com> Specially handle casts to 'void' in AdjustedReturnValueChecker.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
40c37e1a624c27f987458a3234f615d929e9d813 04-Feb-2010 Ted Kremenek <kremenek@apple.com> static analyzer: handle casts of a function to a function pointer with
a different return type. While we don't emit any errors (yet), at
least we avoid cases where we might crash because of an assertion
failure later on (when the return type differs from what is expected).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
5b290658c5af4cc186fe556311db2bfbb316c00a 03-Feb-2010 Ted Kremenek <kremenek@apple.com> Fix regression in RegionStore due to recent changes in
RegionStoreManager::InvalidateRegions() by adjusting the worklist to
iterate over BindingKeys instead of MemRegions. We also only need to
do the actual invalidation work on base regions, and for non-base
regions just blow away their bindings.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
f68170481d4c36e1e930ee9a3bce58e2ae5a95cb 02-Feb-2010 Ted Kremenek <kremenek@apple.com> Explicitly check for casts to double or complex types instead of possibly asserting in SValuator.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
61e8e1b84292e882553a47edec830a79606c78f4 02-Feb-2010 Ted Kremenek <kremenek@apple.com> Fix bug in GRExprEngine::VisitSizeOfAlignOfExpr() where we do not add
'Pred' to 'Dst' for cases we currently don't handle. This fixes
<rdar://problem/7593875>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
46171917dc87caf0c7a741a7301f36db2e20b132 23-Jan-2010 Mike Stump <mrs@apple.com> Insulate these from changes to the default for -Wunreachable-code.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
45eb40641ff3804d4c47ce7f6ec4782633d04ddf 19-Jan-2010 Zhongxing Xu <xuzhongxing@gmail.com> Add test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
c213b48206c55ca0eb1387cfa1651de504f147d1 15-Jan-2010 Ted Kremenek <kremenek@apple.com> Teach BugReporter to "escape" the occurance of '%' characters in diagnostic messages when emitted results to the standard Diagnostics output. Fixes PR 6033.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
7ef655a78863c0a7550bfe51174b9c340ab1dce0 12-Jan-2010 Chris Lattner <sabre@nondot.org> implement PR6004, warning about divide and remainder by zero.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
36fcde0ae10b88494d870dc4d39b4bd6681890e0 10-Jan-2010 Ted Kremenek <kremenek@apple.com> Make sure this test case tests analyzing both x86_64 and i386 archs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
6607aca723992d364f2de15f5d739aae8c2a6469 05-Jan-2010 Zhongxing Xu <xuzhongxing@gmail.com> Move test case to a more appropriate file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
0d1847d79eab28f0b1572d28ffb3d2eea07d1775 05-Jan-2010 Zhongxing Xu <xuzhongxing@gmail.com> Add test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.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.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.m
616cf051d45b9e5294da36aaa40b09d79a9eddc4 23-Nov-2009 Ted Kremenek <kremenek@apple.com> Tweak UndefBranchChecker to register the most nested "undefined" expression with bugreporter::registerTrackNullOrUndefValue instead of the condition itself.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
998c133a3b1cd0c34c52907f3ec2798e0dde7e0e 23-Nov-2009 Ted Kremenek <kremenek@apple.com> Cleanup title/description of "undefined branch" BugType and add some test cases for this check.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
64fa85855638d69e56ed1b2fad7ed65deb3ecdfd 21-Nov-2009 Ted Kremenek <kremenek@apple.com> More checker refactoring. Passing undefined values in a message expression is now handled by UndefinedArgChecker.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
63e963cdffca9530f920dbab58b9b4eecb2a582c 16-Nov-2009 Fariborz Jahanian <fjahanian@apple.com> Handle case of missing '@end' in implementation context
gracefully, on par with gcc, by: Issuing a warning,
doing final sematinc check of its definitions and generating
its meta-data.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
d694485f9d6e3ea7b458df8241dfffd38f62aca8 11-Nov-2009 Zhongxing Xu <xuzhongxing@gmail.com> Add undefined array subscript checker.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
de7d8007567374654aa146569de98cd7423dc57b 11-Nov-2009 Ted Kremenek <kremenek@apple.com> CastToStructChecker: use 'isStructureType()' instead of 'isRecordType()' to determine if a pointer is casted to a struct pointer. This fixes an observed false positive when a value is casted to a union.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
ae78447ef124fcbc6bef14f73a67586420c0196a 05-Nov-2009 Ted Kremenek <kremenek@apple.com> Tweak wording and classifications of analyzer diagnostics.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
5206f0b913d1a11744c9436c83b24f8daa21152c 03-Nov-2009 Zhongxing Xu <xuzhongxing@gmail.com> Pull VLA size checker into its own files.
Split it to two checkers, one for undefined size,
the other for zero size, so that we don't need to query the size
when emitting the bug report.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
3f214b35cac948f8bb68542814379858e984c745 29-Oct-2009 Ted Kremenek <kremenek@apple.com> Fix accidental use of CheckSVal instead of CheckLocation, and add a
small test case to show we handle dereferences of undefined values.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
9b02034b6461000f8355c9c91118adaf644cbc8a 17-Oct-2009 Ted Kremenek <kremenek@apple.com> Fix another static analyzer crash due to a corner case in "folding" symbolic values that are constrained to be a constant.


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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
b1d042212fbb3f6a08864b703b7bdf0dca58fd9c 06-Oct-2009 Ted Kremenek <kremenek@apple.com> Fix crash introduced by r83358 where a symbol could be eagerly
evaluated to an APSInt with a different bitwidth than the other
operand in a binary expression.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
022a1253c021aaa03fa7d65b04f237da9613f8fd 26-Sep-2009 Ted Kremenek <kremenek@apple.com> Added test case for <rdar://problem/7152418>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
657406dd407a3f17c594205d65fec049cf1304dd 23-Sep-2009 Ted Kremenek <kremenek@apple.com> Fix PR 4988 by removing an invalid assertion (a function can be referenced in
GRExprEngine::VisitDeclRefExpr without 'asLValue' being true).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
cc969fd8360e315a0244a1192ddaedcd751fc7a7 22-Sep-2009 Ted Kremenek <kremenek@apple.com> Fix: <rdar://problem/7242015> [RegionStore] variable passed-by-reference (via integer) to function call not invalidated


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
c32b24452ebb537934b20b7133a3a0cbce447666 22-Sep-2009 Ted Kremenek <kremenek@apple.com> Add test case for <rdar://problem/6829164>, which was implicitly fixed in r79694.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
e0a58073b76fc016325a35152533b8468df2bf4a 19-Sep-2009 Ted Kremenek <kremenek@apple.com> Re-introduce diagnostic caching in BugReporter that was originally added in
r82198 and then reverted. This is an intermediate solution, as diagnostic
caching should not rely on static variables.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
7f473c546602de69b35f0c657619c2ffe8e4136a 18-Sep-2009 Ted Kremenek <kremenek@apple.com> Revert most of r82198, which was causing a large number of crashes
when running the analyzer on real projects. We'll keep the change to
AnalysisManager.cpp in r82198 so that -fobjc-gc analyzes code
correctly in both GC and non-GC modes, although this may emit two
diagnostics for each bug in some cases (a better solution will come
later).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
6a19832d08f00ac78c0a69c4fbe38b04a55b75cc 18-Sep-2009 Ted Kremenek <kremenek@apple.com> Introduce caching of diagnostics in BugReporter. This provides extra
pruning of diagnostics that may be emitted multiple times. This is
accomplished by adding FoldingSet profiling support to PathDiagnostic,
and then having BugReporter record what diagnostics have been issued.

This was motived to a serious bug introduced by moving the
'divide-by-zero' checking outside of GRExprEngine into a separate
'Checker' class. When analyzing code using the '-fobjc-gc' option, a
given function would be analyzed twice, but the second time various
"internal checks" would be disabled to avoid emitting multiple
diagnostics (e.g., "null dereference") for the same issue. The
problem is that such checks also effect path pruning and don't just
emit diagnostics. This resulted in an assertion failure involving a
real divide-by-zero in some analyzed code where we would get an
assertion failure in APInt because the 'DivZero' check was disabled
and didn't prune the logic that resulted in the divide-by-zero in the
analyzer.

The implemented solution is somewhat of a hack, and may not perform
extremely well. This will need to be cleaned up over time.

As a regression test, 'misc-ps.m' has been modified so that its tests
are run using -fobjc-gc to test this diagnostic pruning behavior.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
e2b5744f9a8a08129f1d51e99410a3f3cdda0c91 15-Sep-2009 Ted Kremenek <kremenek@apple.com> Add static analyzer transfer function support for __builtin_offsetof.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
cfcd7fd0de701c5ce05e96de1ed2d0bf8c7035d9 09-Sep-2009 Ted Kremenek <kremenek@apple.com> Implement: <rdar://problem/7185647> [RegionStore] 'self' cannot be NULL upon entry to a method

Here we implement this as a precondition within GRExprEngine, even though it is
related to how BasicStoreManager and RegionStoreManager model 'self'
differently. Putting this as a high-level precondition is more general, which is
why it isn't in RegionStore.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
ab2f43cfe7272d77374d8dec8f9df625bf525468 26-Aug-2009 Ted Kremenek <kremenek@apple.com> Fix regression in BasicStoreManager caused by implicitly casting loaded values and trying to load/store from arrays. RegionStoreManager already properly handles these cases well; we just need to gracefully not handle this case in BasicStoreManager. This fixes PR 4781.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
1894dce96476dbe58c0e60d47f8987cbeb3d3869 25-Aug-2009 Ted Kremenek <kremenek@apple.com> Fix crash reported in <rdar://problem/7124210> by "back-porting" some of the
implicit cast logic in RegionStoreManager to BasicStoreManager. This involved
moving CastRetriedVal from RegionStoreManager to StoreManager.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
4ed459851eef142f2059af7ae487484e8a14fc67 05-Aug-2009 Ted Kremenek <kremenek@apple.com> Fix a bug in RegionStoreSubRegionManager::add() where multiple subregions wouldn't correctly get registered in the SubRegion map.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
8eec7c00e6e8e7243776d89c3897a48d354aecbf 04-Aug-2009 Ted Kremenek <kremenek@apple.com> Adjust test case.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
48775d5bf05120adb2a953bbcd626405bf666b22 04-Aug-2009 Ted Kremenek <kremenek@apple.com> Add a pass-by-value test for the analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
968f0a6fe860b7df42d5ea1ab87a55c757507c1c 03-Aug-2009 Ted Kremenek <kremenek@apple.com> Handle disgusting corner case where a byte is loaded from the address of a function.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
9a108eb88f93c524dfa5fb2c3fea3896b1eb6525 02-Aug-2009 Ted Kremenek <kremenek@apple.com> Fix regression in StoreManager::CastRegion() to always treat casts to
'void*' (or 'const void*') as an identity transformation.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
19e1f0ba5cec738ce6cebe3fe0e1edc782206494 01-Aug-2009 Ted Kremenek <kremenek@apple.com> This is a fairly large patch, which resulted from a cascade of changes
made to RegionStore (and related classes) in order to handle some
analyzer failures involving casts and manipulation of symbolic memory.

The root of the change is in StoreManager::CastRegion(). Instead of
using ad hoc heuristics to decide when to layer an ElementRegion on a
casted MemRegion, we now always layer an ElementRegion when the cast
type is different than the original type of the region. This carries
the current cast information associated with a region around without
resorting to the error prone recording of "casted types" in GRState.

Along with this new policy of layering ElementRegions, I added a new
algorithm to strip away existing ElementRegions when they simply
represented casts of a base memory object. This algorithm computes
the raw "byte offset" that an ElementRegion represents from the base
region, and allows the new ElementRegion to be based off that offset.
The added benefit is that this naturally handles a series of casts of
a MemRegion without building up a set of redundant ElementRegions
(thus canonicalizing the region view).

Other related changes that cascaded from this one (as tests were
failing in RegionStore):

- Revamped RegionStoreManager::InvalidateRegion() to completely remove
all bindings and default values from a region and all subregions.
Now invalidated fields are not bound directly to new symbolic
values; instead the base region has a "default" symbol value from
which "derived symbols" can be created. The main advantage of this
approach is that it allows us to invalidate a region hierarchy and
then lazily instantiate new values no matter how deep the hierarchy
went (i.e., regardless of the number of field accesses,
e.g. x->f->y->z->...). The previous approach did not do this.

- Slightly reworked RegionStoreManager::RemoveDeadBindings() to also
incorporate live symbols and live regions that do not have direct
bindings but also have "default values" used for lazy instantiation.
The changes to 'InvalidateRegion' revealed that these were necessary
in order to achieve lazy instantiation of values in the region store
with those bindings being removed too early.

- The changes to InvalidateRegion() and RemoveDeadBindings() revealed
a serious bug in 'getSubRegionMap()' where not all region -> subregion
relationships involved in actually bindings (explicit and implicit)
were being recorded. This has been fixed by using a worklist algorithm
to iteratively fill in the region map.

- Added special support to RegionStoreManager::Bind()/Retrieve() to handle
OSAtomicCompareAndSwap in light of the new 'CastRegion' changes and the
layering of ElementRegions.

- Fixed a bug in SymbolReaper::isLive() where derived symbols were not
being marked live if the symbol they were derived from was also live.
This fix was critical for getting lazy instantiation in RegionStore
to work.

- Tidied up the implementation of ValueManager::getXXXSymbolVal() methods
to use SymbolManager::canSymbolicate() to decide whether or not a
symbol should be symbolicated.

- 'test/Analysis/misc-ps-xfail.m' now passes; that test case has been
moved to 'test/Analysis/misc-ps.m'.

- Tweaked some pretty-printing of MemRegions, and implemented
'ElementRegion::getRawOffset()' for use with the CastRegion changes.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
f7a0cf426eddae76e1a71dd2295631a2cf0560af 29-Jul-2009 Ted Kremenek <kremenek@apple.com> Remove 'StoreManager::OldCastRegion()', TypedViewRegion (which only
OldCastRegion used), and the associated command line option
'-analyzer-store=old-basic-cast'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
0b331e369695eef0ef7ce162602df4c2ace4412f 22-Jul-2009 Ted Kremenek <kremenek@apple.com> Fix a crasher in StoreManager::InvalidateRegion() caused by using the
'cast type' of a region to invalidate its binding. This only occurs
when using RegionStoreManager, as it records the cast type. I'm
currently considering removing the notion of a cast type (see
comments in code).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
32c3fa4195762ba93f0b7114ab36c0941bc34432 21-Jul-2009 Ted Kremenek <kremenek@apple.com> Fix PR 4594 by refactoring almost all casting logic from GRExprEngine::VisitCast
to SValuator::EvalCast. In the process, the StoreManagers now use this new cast
machinery, and the hack in GRExprEngine::EvalBind to handle implicit casts
involving OSAtomicCompareAndSwap and friends has been removed (and replaced with
logic closer to the logic specific to those functions).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
006105d5a8c6565018e4e2a25860d4a7f4c7f4a6 21-Jul-2009 Mike Stump <mrs@apple.com> Prep for new warning.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
25c545788da6e3a725206cfa378b9b83a7da6024 21-Jul-2009 Ted Kremenek <kremenek@apple.com> Enhanced IsReinterpreted() (RegionStore.cpp) to reason about higher-order
pointers.

Enhanced RegionStoreManager::Retrieve() to handle automatic casts when the
loaded value is different from the requested value. This should be refined over
time, but essentially we should always symbolicate locations as locations, and
convert them to non-locations on demand.

These changes now cause 'misc-ps.m' to pass again.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
293769a1f281b8994195eb9985b31e1ed0c1c8b3 20-Jul-2009 Ted Kremenek <kremenek@apple.com> Add XFAILED test.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
63b9cfe8f2aaec53710b59e565bb8d5afb558b40 18-Jul-2009 Ted Kremenek <kremenek@apple.com> Fix crash in StoreManager::NewCastRegion() when handling casts from 'id' (or whatever) to a BlockPointerType.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
465373946b5ae84f7c3d890cc25cb23fd88dd650 16-Jul-2009 Ted Kremenek <kremenek@apple.com> Move RegionStoreManager over to using new
ValueManager::makeArrayIndex()/convertArrayIndex() methods. This
handles yet another crash case when reasoning about array indices of
different bitwidth and signedness.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
fde2efe96e00c5d03e7caaf0c1e67d7b011d9d0c 16-Jul-2009 Ted Kremenek <kremenek@apple.com> Fix <rdar://problem/7062158> by having BasicStoreManager model values for 'static' global variables.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
43d74a5a8e1b6880e6c9813930ce59ab6cadfbf1 11-Jul-2009 Ted Kremenek <kremenek@apple.com> Handle insidious corner case exposed by RegionStoreManager when handling void* values that are bound
to symbolic regions and then treated like integers.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
31ef2b61191c7dc05f5ae085a25b2caf76a7ae2d 10-Jul-2009 Ted Kremenek <kremenek@apple.com> Test case in test/Analysis/xfail_regionstore_wine_crash.c no longer fails, so
move this case to 'test/Analysis/misc-ps.m' to test with both BasicStoreManager
and RegionStoreManager.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
8d344ae81aeae1f2e4f21eddd1021acdca85abd7 10-Jul-2009 Ted Kremenek <kremenek@apple.com> Revert r75281 and simply remove the assertion in NewCastRegion that
CodeTextRegions can only be casted to FunctionPointer or BlockPointerTypes. This
simply isn't true. We can handle bogus operations on CodeTextRegions (e.g, an
array access) elsewhere.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
3f9811b46abcbb34c76d0e742dd31f899312d2bf 10-Jul-2009 Ted Kremenek <kremenek@apple.com> Fix crash in StoreManager::NewCastRegion regarding handling casts to void*,
void**, void***, etc. Such casts should just pass the region through.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
c037eac3bda3c636c961aab6377beea3242e81e4 10-Jul-2009 Ted Kremenek <kremenek@apple.com> Switch BasicStoreManager to use the new CastRegion implementation by default,
and replace the 'clang-cc' option '-analyzer-store=basic-new-cast' with
'-analyzer-store=basic-old-cast'. We'll keep the old CastRegion implementation
around for a little while for regression testing.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
599788806ada4be1d635304104165500d6f9668d 09-Jul-2009 Ted Kremenek <kremenek@apple.com> Fix: <rdar://problem/7034511> ValueManager::makeIntVal(uint64_t X, QualType T) should return a 'Loc' when 'T' is a pointer


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
169077dde4d91270a7495793f1e00b22aa0bc7ca 07-Jul-2009 Ted Kremenek <kremenek@apple.com> NewCastRegion: Handle casts *from* pointers to incomplete structs to other types.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
411af40d038947b6d2a8ad9549c85c1c4c52d15a 07-Jul-2009 Ted Kremenek <kremenek@apple.com> StoreManager::NewCastRegion:
- Refactor logic that creates ElementRegions into a help method 'MakeElementRegion'.
- Fix crash due to not handling StringRegions. Casts of StringRegions now
result in a new ElementRegion layered on the original StringRegion.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
e1cea75e70d76f55157749a7bcad319050492945 06-Jul-2009 Ted Kremenek <kremenek@apple.com> Make 'BasicStoreManager' + 'NewCastRegion' testable from the command line using '-analyzer-store=basic-new-cast'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
ed47fc67b8eeabacbbbdf853ba45f4900619904b 03-Jul-2009 Ted Kremenek <kremenek@apple.com> Fix a horrible CFG bug reported in <rdar://problem/7027684>. The wrong successor
block would get hooked up in some cases when processing empty compound
statements.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
921109ab9c4a114da4588566bc56c09443ea2339 02-Jul-2009 Ted Kremenek <kremenek@apple.com> Add a FIXME to RegionStore, do some minor code cleanup, and get RegionStore to
pass misc-ps.m. Currently RegionStore/BasicStore don't do any special reasoning
about clang-style vectors, so we should return UnknownVal (in all cases) when
accessing their values via an array.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
eaedfeab9eab0d003859aab138784f2c59531408 10-May-2009 Ted Kremenek <kremenek@apple.com> analyzer:
- Improve -autorelease diagnostics.
- Improve VLA diagnostics.
- Use "short description" for bug when outputting to TextDiagnostics


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
f936f4568700d799e7d92eecef67b0e2b822ae7e 04-May-2009 Ted Kremenek <kremenek@apple.com> Per conversations with Zhongxing, add an 'element type' to
ElementRegion. I also removed 'ElementRegion::getArrayRegion',
although we may need to add this back.

This breaks a few test cases with RegionStore:
- 'array-struct.c' triggers an infinite recursion in RegionStoreManager. Need to investigate.
- misc-ps.m triggers a failure with RegionStoreManager as we now get the diagnostic:
'Line 159: Uninitialized or undefined return value returned to caller.'

There were a bunch of places that needed to be edit
RegionStoreManager, and we may not be passing all the correct 'element
types' down from GRExprEngine.

Zhongxing: When you get a chance, could you review this? I could have
easily screwed up something basic in RegionStoreManager.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
956a37dd8360054247b9b10615697e80bdda8741 02-May-2009 Ted Kremenek <kremenek@apple.com> Add another test case found due to an analyzer regression.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
b3cfd58c9b13325d994e5f9b5065e6a22d91911d 23-Apr-2009 Ted Kremenek <kremenek@apple.com> Fix PR 4033: the analyzer shouldn't crash on computed gotos involving symbolic
target addresses.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
af48fdd35633f53c74e982ba7922ca7b2051c1f5 22-Apr-2009 Ted Kremenek <kremenek@apple.com> Fix: <rdar://problem/6777209> false Dereference of null pointer in loop: pointer increment/decrement preserves non-nullness

When the StoreManager doesn't reason well about pointer-arithmetic, propagate
the non-nullness constraint on a pointer value when performing pointer
arithmetic uisng ++/--.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
3a0fd13778cbe38ff20b467345a468eefb7072d2 10-Apr-2009 Ted Kremenek <kremenek@apple.com> Split failing test case from misc-ps.m to misc-ps-ranges.m (which tests
functionality specific to RangeConstraintManager).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
52e5602056e4cade24cbcca57767e94e1d430b03 10-Apr-2009 Ted Kremenek <kremenek@apple.com> Fix: <rdar://problem/6776949> Branch condition evaluates to an uninitialized value (argc is guaranteed to be >= 1)

The analyzer now adds the precondition that the first argument of 'main' is > 0.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
b725232b46e92f3e36b03a32a6fc75748c312122 10-Apr-2009 Ted Kremenek <kremenek@apple.com> Implement attribute "analyzer_noreturn" (<rdar://problem/6777003>). This allows
clients of the analyzer to designate custom assertion routines as "noreturn"
functions from the analyzer's perspective but not the compiler's.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
b8adaf905342129a62c989739d113a7cec7c5ff3 02-Apr-2009 Ted Kremenek <kremenek@apple.com> Update expected warning in test case.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
693de5d7feb92c096431c98ea6ee637494bfe6fb 23-Mar-2009 Ted Kremenek <kremenek@apple.com> analyzer: Fix embarrassing regression in BasicStore when invalidating struct
values passed-by-reference to unknown functions.


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


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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
fa6228d61499e4f6c490afeb636e36d8ae00b5ee 11-Mar-2009 Ted Kremenek <kremenek@apple.com> Fix PR 3780: In one code path in BasicValueFactory::getValue() we would not
return an unsigned integer for a null pointer value.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
7de20fe9aac00705dd943690563db66fa4b35b5b 11-Mar-2009 Ted Kremenek <kremenek@apple.com> SimpleConstraintManager doesn't reason about bitwise-constraints on symbolic
values. Indicating this in 'canReasonAbout' allows GRExprEngine to recover
path-sensitivity in some cases.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
265a305997c63a28d87ddd370958db083f98bc1a 24-Feb-2009 Ted Kremenek <kremenek@apple.com> 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).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
3092dd6b2c01d7d1721a29c865ac729cd8f9ea3c 17-Feb-2009 Ted Kremenek <kremenek@apple.com> Enhance tests to exercise more combinations of using the RangeConstraintManager with the RegionStoreManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
a3d1eb85853eae7b719f679b40923826b5e4b7df 14-Feb-2009 Ted Kremenek <kremenek@apple.com> GRExprEngine: Handle empty statement expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
d76d47eb5f5afffcf25fe8c42521867ccad4073b 27-Jan-2009 Ted Kremenek <kremenek@apple.com> Fix bug in BasicStore::getLValueElement where if the base of an array subscript expression was an ElementRegion we stacked another ElementRegion on top of that.

This fixes PR 3422.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.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.m
d427023c334fe03105d9359711a3df4d6f23b344 21-Jan-2009 Daniel Dunbar <daniel@zuster.org> Add -analyze action to run static analyzer, instead of inferring from
individual checker options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
55f7bcbda37964d3c0e8928d0e50a6e1692b7dce 15-Dec-2008 Ted Kremenek <kremenek@apple.com> Fix regression in handling sizeof(void) in the static analyzer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
159d2487e6b49f0aa64c44aef96bc9d643929931 09-Dec-2008 Ted Kremenek <kremenek@apple.com> [static analyzer] Extend VLA size checking to look for undefined sizes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
8322d6a4fcf34755a8378e4320c5e211366c71f8 09-Dec-2008 Ted Kremenek <kremenek@apple.com> Add zero-sized VLA check test case.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
ae0ee03fd9d36446ee70e502fdaf5ed5acec269f 05-Dec-2008 Chris Lattner <sabre@nondot.org> instead of forcing blocks on by default, make them default to off, but let
specific targets default them to on. Default blocks to on on 10.6 and later.
Add a -fblocks option that allows the user to override the target's default.
Use -fblocks in the various testcases that use blocks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
062e2f9a0ecccfdb6c8be8d797b66abca8dfbfbc 13-Nov-2008 Ted Kremenek <kremenek@apple.com> GRExprEngine/CFRefCount/GRSimpleVals: We don't do any special handling (yet) of vector types. Add explicit checks that when we process integers that they really are scalars.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
76dba7b67a36b2d6311e4ad4714df5dbd39dbebe 13-Nov-2008 Ted Kremenek <kremenek@apple.com> GRExprEngine::VisitInitListExpr:
- Don't crash on vector types.
- Handle typedefs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
5b2316a8b695589f8e91baf1df06c1082ac94b6d 25-Oct-2008 Ted Kremenek <kremenek@apple.com> Do not crash when performing VisitLValue on union types.
This fixes PR 2948.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
c13b6e251afb9530bbcc8c6f26dc4266f4f0c93b 21-Oct-2008 Ted Kremenek <kremenek@apple.com> Further improve path-sensitivity with divide-by-zero checking by assuming that a denominator cannot be zero even when the result of an '/' or '%' expression is unknown.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
9253b0f3d70b49f216e86447494ec0ff2315b31a 21-Oct-2008 Ted Kremenek <kremenek@apple.com> Added test case inspired by <rdar://6268365>: recover path-sensitivity after compound assignment when the result of the assignment is not known.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
6dfe2f544a5e601bd5ac1a7e31af17ec3bf1fe01 19-Oct-2008 Ted Kremenek <kremenek@apple.com> Add support in GRExprEngine for UnaryOperator::AlignOf. This fixes one crash report in PR 2796.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.m
9f67edeff2c2bccdf3ff86a15bcbb16daa512b41 01-Oct-2008 Ted Kremenek <kremenek@apple.com> Added test case.


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