<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp-clang/include/clang/StaticAnalyzer/Core/PathSensitive, branch master</title>
<subtitle>emscripten clang</subtitle>
<id>https://git.amat.us/emscripten-fastcomp-clang/atom/include/clang/StaticAnalyzer/Core/PathSensitive?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp-clang/atom/include/clang/StaticAnalyzer/Core/PathSensitive?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/'/>
<updated>2013-05-06T16:48:26Z</updated>
<entry>
<title>[analyzer] Remove now-unused bindCompoundLiteral helper function.</title>
<updated>2013-05-06T16:48:26Z</updated>
<author>
<name>Jordan Rose</name>
<email>jordan_rose@apple.com</email>
</author>
<published>2013-05-06T16:48:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=00ffb8079b14cade816d8f668675e853e613dee0'/>
<id>urn:sha1:00ffb8079b14cade816d8f668675e853e613dee0</id>
<content type='text'>
The one user has been changed to use getLValue on the compound literal
expression and then use the normal bindLoc to assign a value. No need
to special case this in the StoreManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181214 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Don't try to evaluate MaterializeTemporaryExpr as a constant.</title>
<updated>2013-05-02T19:51:20Z</updated>
<author>
<name>Jordan Rose</name>
<email>jordan_rose@apple.com</email>
</author>
<published>2013-05-02T19:51:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=4b75085f5669efc6407c662b5686361624c3ff2f'/>
<id>urn:sha1:4b75085f5669efc6407c662b5686361624c3ff2f</id>
<content type='text'>
...and don't consider '0' to be a null pointer constant if it's the
initializer for a float!

Apparently null pointer constant evaluation looks through both
MaterializeTemporaryExpr and ImplicitCastExpr, so we have to be more
careful about types in the callers. For RegionStore this just means giving
up a little more; for ExprEngine this means handling the
MaterializeTemporaryExpr case explicitly.

Follow-up to r180894.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180944 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Consolidate constant evaluation logic in SValBuilder.</title>
<updated>2013-05-01T23:10:44Z</updated>
<author>
<name>Jordan Rose</name>
<email>jordan_rose@apple.com</email>
</author>
<published>2013-05-01T23:10:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=e2b1246a24e8babf2f58c93713fba16b8edb8e2d'/>
<id>urn:sha1:e2b1246a24e8babf2f58c93713fba16b8edb8e2d</id>
<content type='text'>
Previously, this was scattered across Environment (literal expressions),
ExprEngine (default arguments), and RegionStore (global constants). The
former special-cased several kinds of simple constant expressions, while
the latter two deferred to the AST's constant evaluator.

Now, these are all unified as SValBuilder::getConstantVal(). To keep
Environment fast, the special cases for simple constant expressions have
been left in, but the main benefits are that (a) unusual constants like
ObjCStringLiterals now work as default arguments and global constant
initializers, and (b) we're not duplicating code between ExprEngine and
RegionStore.

This actually caught a bug in our test suite, which is awesome: we stop
tracking allocated memory if it's passed as an argument along with some
kind of callback, but not if the callback is 0. We were testing this in
a case where the callback parameter had a default value, but that value
was 0. After this change, the analyzer now (correctly) flags that as a
leak!

&lt;rdar://problem/13773117&gt;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180894 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Refactor BugReport::getLocation and PathDiagnosticLocation::createEndOfPath for greater code reuse</title>
<updated>2013-04-23T23:57:43Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-04-23T23:57:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=0f8579274a010f360a371b53101859d9d6052314'/>
<id>urn:sha1:0f8579274a010f360a371b53101859d9d6052314</id>
<content type='text'>
The 2 functions were computing the same location using different logic (each one had edge case bugs that the other
one did not). Refactor them to rely on the same logic.

The location of the warning reported in text/command line output format will now match that of the plist file.

There is one change in the plist output as well. When reporting an error on a BinaryOperator, we use the location of the
operator instead of the beginning of the BinaryOperator expression. This matches our output on command line and
looks better in most cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180165 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Ensure BugReporterTracking works on regions with pointer arithmetic</title>
<updated>2013-04-20T01:15:42Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-04-20T01:15:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=8ef064d53fb33b5a8f8743bcbb0a2fd5c3e97be1'/>
<id>urn:sha1:8ef064d53fb33b5a8f8743bcbb0a2fd5c3e97be1</id>
<content type='text'>
Introduce a new helper function, which computes the first symbolic region in
the base region chain. The corresponding symbol has been used for assuming that
a pointer is null. Now, it will also be used for checking if it is null.

This ensures that we are tracking a null pointer correctly in the BugReporter.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179916 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Flip printPretty and printPrettyAsExpr as per suggestion from Jordan (r179572)</title>
<updated>2013-04-20T01:15:36Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-04-20T01:15:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=716859df842e5a56e816d820d8326ead152dd9e4'/>
<id>urn:sha1:716859df842e5a56e816d820d8326ead152dd9e4</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179915 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Remove unused "getConfig()" method.  A new way is to have high-level</title>
<updated>2013-04-16T21:10:02Z</updated>
<author>
<name>Ted Kremenek</name>
<email>kremenek@apple.com</email>
</author>
<published>2013-04-16T21:10:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=a9ad400e7a937e80dddb1b8a6f4c00eddbcb59e0'/>
<id>urn:sha1:a9ad400e7a937e80dddb1b8a6f4c00eddbcb59e0</id>
<content type='text'>
APIs that access the configuration table without clients reasoning
about the string table.  The string table is an implementation
detail.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179625 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Add pretty printing to CXXBaseObjectRegion.</title>
<updated>2013-04-15T22:38:04Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-04-15T22:38:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=07d8470effc0b0364801adddb6ff92bd22334402'/>
<id>urn:sha1:07d8470effc0b0364801adddb6ff92bd22334402</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179573 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer] Address code review for r179395</title>
<updated>2013-04-15T22:37:59Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-04-15T22:37:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=79d0cceb8847bfe6dc9da8eb2ea2f3c6bb73b813'/>
<id>urn:sha1:79d0cceb8847bfe6dc9da8eb2ea2f3c6bb73b813</id>
<content type='text'>
Mostly refactoring + handle the nested fields by printing the innermost field only.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179572 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[analyzer]Print field region even when the base region is not printable</title>
<updated>2013-04-12T18:40:21Z</updated>
<author>
<name>Anna Zaks</name>
<email>ganna@apple.com</email>
</author>
<published>2013-04-12T18:40:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp-clang/commit/?id=9e2f5977a180ae927d05e844c65b8a7873be48a4'/>
<id>urn:sha1:9e2f5977a180ae927d05e844c65b8a7873be48a4</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179395 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
