<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/lldb/unittests/Expression, 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>2020-02-19T13:20:34+00:00</updated>
<entry>
<title>Fix a buffer-size bug when the first DW_OP_piece is undefined</title>
<updated>2020-02-19T13:20:34+00:00</updated>
<author>
<name>Adrian Prantl</name>
<email>aprantl@apple.com</email>
</author>
<published>2020-01-16T22:21:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=cab81521b5afc2d4295f988aa5f087cbaeefb981'/>
<id>urn:sha1:cab81521b5afc2d4295f988aa5f087cbaeefb981</id>
<content type='text'>
and document the shortcomings of LLDB's partially defined DW_OP_piece
handling.

This would manifest as "DW_OP_piece for offset foo but top of stack is
of size bar".

rdar://problem/46262998

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

(cherry picked from commit f55ab6f90b7317a6bb85303a6102702bdae1199e)
</content>
</entry>
<entry>
<title>Add testing for DW_OP_piece and fix a bug with small Scalar values.</title>
<updated>2020-02-19T13:20:33+00:00</updated>
<author>
<name>Adrian Prantl</name>
<email>aprantl@apple.com</email>
</author>
<published>2020-01-16T22:21:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7751f0c191518b377d9b71bdd17281abec83945a'/>
<id>urn:sha1:7751f0c191518b377d9b71bdd17281abec83945a</id>
<content type='text'>
By switching to Scalars that are backed by explicitly-sized APInts we
can avoid a bug that increases the buffer reserved for a small piece
to the next-largest host integer type.

This manifests as "DW_OP_piece for offset foo but top of stack is of size bar".

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

(cherry picked from commit 7b0d58e339b271e3b1d9dc14b781b57fa0262e3a)
</content>
</entry>
<entry>
<title>[lldb] Add a SubsystemRAII that takes care of calling Initialize and Terminate in the unit tests</title>
<updated>2019-12-23T09:38:25+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2019-12-23T09:38:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5dca0596a959217a1c18858a62ed35245a4c42b4'/>
<id>urn:sha1:5dca0596a959217a1c18858a62ed35245a4c42b4</id>
<content type='text'>
Summary:
Many of our tests need to initialize certain subsystems/plugins of LLDB such as
`FileSystem` or `HostInfo` by calling their static `Initialize` functions before the
test starts and then calling `::Terminate` after the test is done (in reverse order).
This adds a lot of error-prone boilerplate code to our testing code.

This patch adds a RAII called SubsystemRAII that ensures that we always call
::Initialize and then call ::Terminate after the test is done (and that the Terminate
calls are always in the reverse order of the ::Initialize calls). It also gets rid of
all of the boilerplate that we had for these calls.

Per-fixture initialization is still not very nice with this approach as it would
require some kind of static unique_ptr that gets manually assigned/reseted
from the gtest SetUpTestCase/TearDownTestCase functions. Because of that
I changed all per-fixture setup to now do per-test setup which can be done
by just having the SubsystemRAII as a member of the test fixture. This change doesn't
influence our normal test runtime as LIT anyway runs each test case separately
(and the Initialize/Terminate calls are anyway not very expensive). It will however
make running all tests in a single executable slightly slower.

Reviewers: labath, JDevlieghere, martong, espindola, shafik

Reviewed By: labath

Subscribers: mgorny, rnkovacs, emaste, MaskRay, abidh, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D71630
</content>
</entry>
<entry>
<title>[lldb][NFC] Return a reference from ClangASTContext::getASTContext and remove dead nullptr checks</title>
<updated>2019-12-21T21:51:35+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2019-12-21T21:40:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f9f49d3594bc7584cc5cb96125ca08f2ad97662c'/>
<id>urn:sha1:f9f49d3594bc7584cc5cb96125ca08f2ad97662c</id>
<content type='text'>
ClangASTContext::getASTContext() currently returns a ptr but we have an assert there since a
while that the ASTContext is not a nullptr. This causes that we still have a lot of code
that is doing nullptr checks on the result of getASTContext() which is all unreachable code.

This patch changes the return value to a reference to make it clear this can't be a nullptr
and deletes all the nullptr checks.
</content>
</entry>
<entry>
<title>[lldb][NFC] Remove all ASTContext getter wrappers from ClangASTContext</title>
<updated>2019-12-21T14:41:18+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2019-12-21T14:26:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=49b206f95806f35ff8f9a715185355fc2a159760'/>
<id>urn:sha1:49b206f95806f35ff8f9a715185355fc2a159760</id>
<content type='text'>
Their naming is misleading as they only return the
ClangASTContext-owned variables. For ClangASTContext instances constructed
for a given clang::ASTContext they silently generated duplicated instances
(e.g., a second IdentifierTable) that were essentially unusable.

This removes all these getters as they are anyway not very useful in comparison
to just calling the clang::ASTContext getters. The initialization
code has been moved to the CreateASTContext initialization method so that all
code for making our own clang::ASTContext is in one place.
</content>
</entry>
<entry>
<title>[lldb][NFC] Remove redundant ASTContext args to CopyDecl/DeportDecl</title>
<updated>2019-12-20T17:45:14+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2019-12-20T17:44:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6be76f491fcbb2a8476e58cb8d3310155c71e74a'/>
<id>urn:sha1:6be76f491fcbb2a8476e58cb8d3310155c71e74a</id>
<content type='text'>
We already pass a Decl here and the additional ASTContext needs to
match the Decl. We might as well just pass the Decl and then extract
the ASTContext from that.
</content>
</entry>
<entry>
<title>[lldb][NFC] Move utility functions from ClangASTImporter and ClangExpressionDeclMap to own header</title>
<updated>2019-12-20T15:13:24+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2019-12-20T14:09:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=aaa34bc0bd1aeb7271ba0ce2c4f3dfba5dbae8e2'/>
<id>urn:sha1:aaa34bc0bd1aeb7271ba0ce2c4f3dfba5dbae8e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[lldb][NFC] Add unit test for persistent variable lookup with ClangExpressionDeclMap</title>
<updated>2019-12-18T12:50:05+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2019-12-17T15:12:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d8a3194987301672fbd50f4e5703952381f0157c'/>
<id>urn:sha1:d8a3194987301672fbd50f4e5703952381f0157c</id>
<content type='text'>
This adds a unit test for looking up persistent declarations in the scratch AST
context. Also adds the `GetPersistentDecl` hook to the ClangExpressionDeclMap
that this unit test can emulate looking up persistent variables without having
a lldb_private::Target.
</content>
</entry>
<entry>
<title>[lldb][NFC] Allow creating ClangExpressionDeclMap and ClangASTSource without a Target and add basic unit test</title>
<updated>2019-12-17T13:04:12+00:00</updated>
<author>
<name>Raphael Isemann</name>
<email>teemperor@gmail.com</email>
</author>
<published>2019-12-17T12:38:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4aee81c4f73359230e358108bc428e3b0cc59566'/>
<id>urn:sha1:4aee81c4f73359230e358108bc428e3b0cc59566</id>
<content type='text'>
The ClangExpressionDeclMap should be testable from a unit test. This is currently
impossible as they have both dependencies on Target/ExecutionContext from their
constructor. This patch allows constructing these classes without an active Target
and adds the missing tests for running without a target that we can do at least
a basic lookup test without crashing.
</content>
</entry>
<entry>
<title>whitespace cleanup</title>
<updated>2019-10-21T22:48:27+00:00</updated>
<author>
<name>Adrian Prantl</name>
<email>aprantl@apple.com</email>
</author>
<published>2019-10-21T22:48:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e57fe85a599a8cc4990d6f4605f86b89dcb952b3'/>
<id>urn:sha1:e57fe85a599a8cc4990d6f4605f86b89dcb952b3</id>
<content type='text'>
llvm-svn: 375465
</content>
</entry>
</feed>
