<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-09-11T20:54:27+00:00</updated>
<entry>
<title>[analyzer] NFC: Move PathDiagnostic classes to libAnalysis.</title>
<updated>2019-09-11T20:54:27+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-09-11T20:54:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f0bb45fac35c14edd09e3fbe603db75caaf3ef22'/>
<id>urn:sha1:f0bb45fac35c14edd09e3fbe603db75caaf3ef22</id>
<content type='text'>
At this point the PathDiagnostic, PathDiagnosticLocation, PathDiagnosticPiece
structures no longer rely on anything specific to Static Analyzer, so we can
move them out of it for everybody to use.

PathDiagnosticConsumers are still to be handed off.

Differential Revision: https://reviews.llvm.org/D67419

llvm-svn: 371661
</content>
</entry>
<entry>
<title>[analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic.</title>
<updated>2019-09-11T20:54:21+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-09-11T20:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6b85f8e99b38aed5bb4eeb4ca8d7ccdd5a1bf48c'/>
<id>urn:sha1:6b85f8e99b38aed5bb4eeb4ca8d7ccdd5a1bf48c</id>
<content type='text'>
These static functions deal with ExplodedNodes which is something we don't want
the PathDiagnostic interface to know anything about, as it's planned to be
moved out of libStaticAnalyzerCore.

Differential Revision: https://reviews.llvm.org/D67382

llvm-svn: 371659
</content>
</entry>
<entry>
<title>[analyzer] NFC: Introduce sub-classes for path-sensitive and basic reports.</title>
<updated>2019-09-09T20:34:40+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-09-09T20:34:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2f169e7cdd9973d2aa4cba6b0a09126a5e7268ec'/>
<id>urn:sha1:2f169e7cdd9973d2aa4cba6b0a09126a5e7268ec</id>
<content type='text'>
Checkers are now required to specify whether they're creating a
path-sensitive report or a path-insensitive report by constructing an
object of the respective type.

This makes BugReporter more independent from the rest of the Static Analyzer
because all Analyzer-specific code is now in sub-classes.

Differential Revision: https://reviews.llvm.org/D66572

llvm-svn: 371450
</content>
</entry>
<entry>
<title>[Clang] Migrate llvm::make_unique to std::make_unique</title>
<updated>2019-08-14T23:04:18+00:00</updated>
<author>
<name>Jonas Devlieghere</name>
<email>jonas@devlieghere.com</email>
</author>
<published>2019-08-14T23:04:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2b3d49b610bd2a45884115edcb21110bfa325f51'/>
<id>urn:sha1:2b3d49b610bd2a45884115edcb21110bfa325f51</id>
<content type='text'>
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.

Differential revision: https://reviews.llvm.org/D66259

llvm-svn: 368942
</content>
</entry>
<entry>
<title>[analyzer][NFC] Make sure that the BugReport is not modified during the construction of non-visitor pieces</title>
<updated>2019-08-13T22:03:08+00:00</updated>
<author>
<name>Kristof Umann</name>
<email>dkszelethus@gmail.com</email>
</author>
<published>2019-08-13T22:03:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e1117addd664c3b52b4a8b7be8bdd678d42f264c'/>
<id>urn:sha1:e1117addd664c3b52b4a8b7be8bdd678d42f264c</id>
<content type='text'>
I feel this is kinda important, because in a followup patch I'm adding different
kinds of interestingness, and propagating the correct kind in BugReporter.cpp is
just one less thing to worry about.

Differential Revision: https://reviews.llvm.org/D65578

llvm-svn: 368755
</content>
</entry>
<entry>
<title>[analyzer][NFC] Refactoring BugReporter.cpp P4.: If it can be const, make it const</title>
<updated>2019-08-13T18:48:08+00:00</updated>
<author>
<name>Kristof Umann</name>
<email>dkszelethus@gmail.com</email>
</author>
<published>2019-08-13T18:48:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fc76d8551f54e0a8b99306741d6d818b90334d6a'/>
<id>urn:sha1:fc76d8551f54e0a8b99306741d6d818b90334d6a</id>
<content type='text'>
When I'm new to a file/codebase, I personally find C++'s strong static type
system to be a great aid. BugReporter.cpp is still painful to read however:
function calls are made with mile long parameter lists, seemingly all of them
taken with a non-const reference/pointer. This patch fixes nothing but this:
make a few things const, and hammer it until it compiles.

Differential Revision: https://reviews.llvm.org/D65382

llvm-svn: 368735
</content>
</entry>
<entry>
<title>[analyzer][NFC] Refactoring BugReporter.cpp P3.: std::shared_pointer&lt;PathDiagnosticPiece&gt; -&gt; PathDiagnosticPieceRef</title>
<updated>2019-08-13T16:45:48+00:00</updated>
<author>
<name>Kristof Umann</name>
<email>dkszelethus@gmail.com</email>
</author>
<published>2019-08-13T16:45:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6d716ef1814bea126dcdb761eb2482abb9c44f39'/>
<id>urn:sha1:6d716ef1814bea126dcdb761eb2482abb9c44f39</id>
<content type='text'>
find clang/ -type f -exec sed -i 's/std::shared_ptr&lt;PathDiagnosticPiece&gt;/PathDiagnosticPieceRef/g' {} \;
git diff -U3 --no-color HEAD^ | clang-format-diff-6.0 -p1 -i

Just as C++ is meant to be refactored, right?

Differential Revision: https://reviews.llvm.org/D65381

llvm-svn: 368717
</content>
</entry>
<entry>
<title>Fix parameter name comments using clang-tidy. NFC.</title>
<updated>2019-07-16T04:46:31+00:00</updated>
<author>
<name>Rui Ueyama</name>
<email>ruiu@google.com</email>
</author>
<published>2019-07-16T04:46:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=49a3ad21d6034eb20f99f228dbebcc5f65a748d8'/>
<id>urn:sha1:49a3ad21d6034eb20f99f228dbebcc5f65a748d8</id>
<content type='text'>
This patch applies clang-tidy's bugprone-argument-comment tool
to LLVM, clang and lld source trees. Here is how I created this
patch:

$ git clone https://github.com/llvm/llvm-project.git
$ cd llvm-project
$ mkdir build
$ cd build
$ cmake -GNinja -DCMAKE_BUILD_TYPE=Debug \
    -DLLVM_ENABLE_PROJECTS='clang;lld;clang-tools-extra' \
    -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DLLVM_ENABLE_LLD=On \
    -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ../llvm
$ ninja
$ parallel clang-tidy -checks='-*,bugprone-argument-comment' \
    -config='{CheckOptions: [{key: StrictMode, value: 1}]}' -fix \
    ::: ../llvm/lib/**/*.{cpp,h} ../clang/lib/**/*.{cpp,h} ../lld/**/*.{cpp,h}

llvm-svn: 366177
</content>
</entry>
<entry>
<title>[analyzer] NFC: Change evalCall() to provide a CallEvent.</title>
<updated>2019-06-19T23:33:42+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-06-19T23:33:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=44820630dfa45bc47748a5abda7d4a9cb86da2c1'/>
<id>urn:sha1:44820630dfa45bc47748a5abda7d4a9cb86da2c1</id>
<content type='text'>
This changes the checker callback signature to use the modern, easy to
use interface. Additionally, this unblocks future work on allowing
checkers to implement evalCall() for calls that don't correspond to any
call-expression or require additional information that's only available
as part of the CallEvent, such as C++ constructors and destructors.

Differential Revision: https://reviews.llvm.org/D62440

llvm-svn: 363893
</content>
</entry>
<entry>
<title>[analyzer] RetainCount: Fix os_returns_retained_on_zero with weird return types.</title>
<updated>2019-05-15T18:41:32+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-05-15T18:41:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=07c7257cdc7f7fda8343d45e645a4c59f66835a1'/>
<id>urn:sha1:07c7257cdc7f7fda8343d45e645a4c59f66835a1</id>
<content type='text'>
The checker was crashing when it was trying to assume a structure
to be null or non-null so that to evaluate the effect of the annotation.

Differential Revision: https://reviews.llvm.org/D61958

llvm-svn: 360790
</content>
</entry>
</feed>
