Commit Graph

928 Commits

Author SHA1 Message Date
Eugene Zemtsov a633ee6e4a New C++ function name parsing logic (Resubmit)
Current implementation of CPlusPlusLanguage::MethodName::Parse() doesn't
get anywhere close to covering full extent of possible function declarations.
It causes incorrect behavior in avoid-stepping and sometimes messes
printing of thread backtrace.

This change implements more methodical parsing logic based on clang
lexer and simple recursive parser.

Examples:
void std::vector<Class, std::allocator<Class>>::_M_emplace_back_aux<Class const&>(Class const&)
void (*&std::_Any_data::_M_access<void (*)()>())()

Previous version of this change (D31451) was rolled back due to an issue
with Objective-C selectors being incorrectly recognized as a C++ identifier.

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

llvm-svn: 299721
2017-04-06 22:36:02 +00:00
Jim Ingham 9645a6290a Reverting r299374 & r299402 due to testsuite failure.
This caused a failure in the test case:

  functionalities/breakpoint/objc/TestObjCBreakpoints.py

When we are parsing up names we stick interesting parts of the names
in various buckets, one of which is the ObjC selector bucket.  The new
C++ name parser must be interfering with this process somehow.

<rdar://problem/31439305>

llvm-svn: 299489
2017-04-05 00:08:21 +00:00
Sean Callanan 48a15fd9f1 Add CPlusPlusNameParser to the xcodeproj
llvm-svn: 299402
2017-04-03 23:56:41 +00:00
Tim Hammerquist 3bccaed574 add more RegisterContext files to xcode project
llvm-svn: 299261
2017-03-31 21:03:58 +00:00
Tim Hammerquist 265a7c71d0 add NetBSD files to Xcode project to resolve failure from r299109
llvm-svn: 299116
2017-03-30 21:27:51 +00:00
Jim Ingham 9381bdf3f5 Fix the Xcode project for OpenBSD additions.
llvm-svn: 298874
2017-03-27 19:03:11 +00:00
Tim Hammerquist 6b2c9ac888 Merge r298536 changes to Xcode
rdar://problem/31202813

llvm-svn: 298547
2017-03-22 20:21:52 +00:00
Tim Hammerquist 17e228f309 Merge changes from r298466 into Xcode project
rdar://problem/31197116

llvm-svn: 298517
2017-03-22 16:47:14 +00:00
Tim Hammerquist 74a3c07da6 Mirror CMake changes from r298412 to Xcode project
<rdar://problem/31181635>
M    lldb.xcodeproj/project.pbxproj

llvm-svn: 298451
2017-03-21 22:08:16 +00:00
Jason Molenda b9d9ac49eb update.
llvm-svn: 297701
2017-03-14 03:28:27 +00:00
Jason Molenda b677688546 cleanup.
llvm-svn: 297104
2017-03-07 00:00:35 +00:00
Sean Callanan d1471f1108 Project file fixes after movement of Data* and removal of ThisThread.cpp
llvm-svn: 296963
2017-03-04 08:05:54 +00:00
Jim Ingham c963f20e4c Fix the macOS build all the way after r296909.
llvm-svn: 296938
2017-03-04 01:15:24 +00:00
Tim Hammerquist 80f5f00ec1 Fix Darwin failures introduced in r296909
llvm-svn: 296925
2017-03-03 23:17:29 +00:00
Tim Hammerquist f54f74660d update pbxproj to match cmake config, broken in r296335
llvm-svn: 296406
2017-02-27 22:56:27 +00:00
Jason Molenda fad62c9554 DataBufferMemoryMap.cpp out, DataBufferLLVM.cpp in. Unbreak the build.
llvm-svn: 296238
2017-02-25 04:06:09 +00:00
Jason Molenda c4ebb6402a Update the location of ModuleCacheTest.cpp from
unittest/Utility to unittest/Target so the unit
tests can be run from xcode again.

The diff is enormous - I think zachary might have
put windows line endings or something with his last
commit?  didn't look too closely but his commit & this
commit have every line being different.

llvm-svn: 295530
2017-02-18 01:51:11 +00:00
Zachary Turner 24ae6294a4 Finish breaking the dependency from Utility.
Differential Revision: https://reviews.llvm.org/D29964

llvm-svn: 295368
2017-02-16 19:38:21 +00:00
Greg Clayton 4197b7f4ae Fix Xcode project.
llvm-svn: 295212
2017-02-15 18:24:44 +00:00
Greg Clayton b24f7f3d6d Fix Xcode project.
llvm-svn: 294206
2017-02-06 18:10:39 +00:00
Jason Molenda 35c5b86737 Update xcodeproj to track ConvertEnum.cpp et al being removed.
llvm-svn: 293831
2017-02-01 22:41:38 +00:00
Jason Molenda 9dd2ff4604 When I added the use of the new compression framework (present in
Mac OS X 10.11, El Capitan, released c. Oct 2015) I conditionalized
the use of the framework on "if sdk == macosx 10.11".  But since
macOS 10.12 has shipped this year, the framework was no longer being
built in.  I can either start listing every OS 10.11 and newer, or
remove the version check.

This will break building lldb with xcodebuild / Xcode for people 
running Mac OS X 10.10 or older.  If so, I'll back this change out.
I'm not sure if we have many people working on macs running the
older OSes on their build systems.

<rdar://problem/30159130> 

llvm-svn: 293742
2017-02-01 04:23:15 +00:00
Jason Molenda 0da64d8503 Remove SymbolFilePDBTests.cpp from the list of tests to include in the
lldb-gtest binary that xcode builds for -scheme lldb-gtest; these tests
won't run on macosx systems.  Fixes testsuite failures we started
seeing after 290819.

<rdar://problem/29853778> 

llvm-svn: 290917
2017-01-04 00:01:25 +00:00
Sean Callanan 756cb33b6a specify -DNDEBUG for BNI builds of all targets in the Xcode build
llvm-svn: 290282
2016-12-21 23:21:11 +00:00
Pavel Labath 91c1fc2994 Remove ConnectionSharedMemory
This class is unused.

llvm-svn: 288122
2016-11-29 09:42:35 +00:00
Pavel Labath b514504eea Remove ConnectionMachPort
Summary:
This class is unused, and since the StringRef refactor, it does not even
implement the Connection interface.

Reviewers: clayborg, jingham

Subscribers: mgorny, lldb-commits

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

llvm-svn: 288117
2016-11-29 09:23:05 +00:00
Todd Fiala c7e5c37255 fix up Xcode build for r287916
llvm-svn: 288044
2016-11-28 17:19:03 +00:00
Pavel Labath 8cb1cd9b7b Remove TimeValue class
Summary:
All usages have been replaced by appropriate std::chrono funcionality, and the
class is now unused. The only used part of the cpp file is the DumpTimePoint
function, which I have moved into the only caller (CommandObjectTarget.cpp).

Reviewers: clayborg, zturner

Subscribers: mgorny, lldb-commits

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

llvm-svn: 287096
2016-11-16 10:54:22 +00:00
Chris Bieneman 0f1bdd334a One more try to fix the Xcode project
This time I made sure it actually opened.

llvm-svn: 286505
2016-11-10 21:43:24 +00:00
Chris Bieneman 1778f69f44 Fixing the Xcode build that I broke in r286479
Since Xcode can't seem to handle quotes in preprocessor definitions, I've changed the build to assume that the define is unquoted. This should fix the failing Darwin bots.

llvm-svn: 286504
2016-11-10 21:30:16 +00:00
Chris Bieneman b92cfe6804 Unify Darwin and Non-Darwin printing of version output
Summary:
This change unifies and simplifies the code paths between the Darwin and non-Darwin code to print the LLDB version information.

It also introduces a new variable in CMake LLDB_VERSION_STRING which can be used to specify custom version information. On Darwin this value is implicitly set based on the resource/LLDB-Info.plist file.

With the LLDB_VERSION_STRING variable set to lldb-360.99.0, the -version output is:

> ./bin/lldb -version
lldb version 4.0.0 (lldb-360.99.0)
  clang revision 286264
  llvm revision 286265

This behavior is unified across all target platforms.

Reviewers: lldb-commits

Subscribers: mgorny, tfiala

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

llvm-svn: 286479
2016-11-10 17:33:19 +00:00
Enrico Granata 2de50d6026 Add RenderScriptScriptGroup to the Xcode project
llvm-svn: 285943
2016-11-03 17:33:11 +00:00
Pavel Labath bfa601f6b8 Remove TimeSpecTimeout class
the class is unused.

llvm-svn: 285891
2016-11-03 09:29:56 +00:00
Pavel Labath ad90734caf Remove KQueue.cpp
Summary:
This class is unused.

Reviewers: clayborg

Subscribers: mgorny, modocache, lldb-commits

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

llvm-svn: 285847
2016-11-02 18:06:17 +00:00
Enrico Granata a8ab2b0c46 Add the new minidump plugin files to the Xcode project
llvm-svn: 285596
2016-10-31 17:00:54 +00:00
Jim Ingham 8bd8e463b7 Fixing up the project file for the removal of LibStdcppSmartPointer.cpp.
llvm-svn: 285113
2016-10-25 20:32:26 +00:00
Jim Ingham e3b7ba2ffe Add the new stdcpp formatters to the Xcode project.
llvm-svn: 284851
2016-10-21 18:18:25 +00:00
Jason Molenda 6853cca1c9 Add a first unit test for the arm64 instruction profiled unwind
plan generator.

Fix a small bug in EmulateInstructionARM64::GetFramePointerRegister
which was returning the stack pointer reg instead of fp, prevented
the unwinder from recognizing the switch to using the fp in a
function. (<rdar://problem/28663117>)

Add a new eContextRestoreStackPointer context hint so that the arm64
emulator can flag when the frame pointer value is copied back in to
the stack pointer and that should be used to compute the canonical
frame address again in an epilogue sequence.  (<rdar://problem/28704862>)

Small changes to UnwindAssemblyInstEmulation to have a method we can
call without a live process/thread/etc for unit tests.

<rdar://problem/28663117> 
<rdar://problem/28704862> 
<rdar://problem/28509178> 

llvm-svn: 283847
2016-10-11 02:24:00 +00:00
Dimitar Vlahovski 36e21a3d56 Removing the new Minidump plugin
Tests are failing and build is failing on windows and darwin.
Will fix and commit it later
-------------------------------------------------------------

Revert "xfailing minidump tests again ... :("
This reverts commit 97eade002c9e43c1e0d11475a4888083a8965044.

Revert "Fixing new Minidump plugin tests"
This reverts commit 0dd93b3ab39c8288696001dd50b9a093b813b09c.

Revert "Add the new minidump files to the Xcode project."
This reverts commit 2f638a1d046b8a88e61e212220edc40aecd2ce44.

Revert "xfailing tests for Minidump plugin"
This reverts commit 99311c0b22338a83e6a00c4fbddfd3577914c003.

Revert "Adding a new Minidump post-mortem debugging plugin"
This reverts commit b09a7e4dae231663095a84dac4be3da00b03a021.

llvm-svn: 283352
2016-10-05 18:11:45 +00:00
Jim Ingham 2e91a9f697 Add the new minidump files to the Xcode project.
llvm-svn: 283276
2016-10-05 00:07:01 +00:00
Jason Molenda 74b8fbcba7 Re-commit the changes from r282565 that I had to back out because of
a linux bot test failure.  That one is fixed; hopefully there won't
be any others turned up this time.

The eh_frame augmentation code wasn't working right after the 
reorg/rewrite of the classes.  It works correctly now for the one
test that was failing - but we'll see what the test bots come up
with. 

<rdar://problem/28509178> 

llvm-svn: 282659
2016-09-29 01:00:16 +00:00
Todd Fiala 386236509e zorg Xcode python test suite target arch update
This changes the Xcode target used by the Green Dragon Xcode CI.
When calling xcodebuild with LLDB_PYTHON_TESTSUITE_ARCH set, the
arch's xUnit XML output is now set to an arch-specific filename:

$(BUILD_DIR)/test-results-$(LLDB_PYTHON_TESTSUITE_ARCH).xml.

The change also ensures that the Python testsuite sees the Xcode
build settings passed in through environment variables.

llvm-svn: 282605
2016-09-28 16:43:47 +00:00
Jason Molenda 536ff0dd2f Reverting r282565.
A testbot found a regression introduced in the testsuite with
the changes in r282565 on Ubuntu (TestStepNoDebug.ReturnValueTestCase).
I'll get this set up on an ubuntu box and figure out what is happening
there -- likely a problem with the eh_frame augmentation, which isn't
used on macosx.

llvm-svn: 282566
2016-09-28 03:16:14 +00:00
Jason Molenda 1c9858b298 Refactor the x86 UnwindAssembly class into a separate class called
x86AssemblyInspectionEngine and the current UnwindAssembly_x86 to
allow for the core engine to be exercised by unit tests.

The UnwindAssembly_x86 class will have access to Targets, Processes,
Threads, RegisterContexts -- it will be working in the full lldb
environment.

x86AssemblyInspectionEngine is layered away from all of that, it is
given some register definitions and a bag of bytes to profile.

I wrote an initial unittest for a do-nothing simple x86_64/i386
function to start with.  I'll be adding more.

The x86 assembly unwinder was added to lldb early in its bringup;
I made some modernization changes as I was refactoring the code
to make it more consistent with how we write lldb today.

I also added RegisterContextMinidump_x86_64.cpp to the xcode project
file so I can run the unittests from that.

The testsuite passes with this change, but there was quite a bit of
code change by the refactoring and it's possible there are some 
issues.  I'll be testing this more in the coming days, but it looks
like it is behaving correctly as far as I can tell with automated
testing.

<rdar://problem/28509178> 

llvm-svn: 282565
2016-09-28 02:52:19 +00:00
Enrico Granata 497ef1772f Install only the manpage and only in the proper location
llvm-svn: 282297
2016-09-23 21:24:08 +00:00
Todd Fiala ba8a82dbe4 Xcode: support gtests that use the Inputs dir
This change adds support for the gtests that require input data
in the Inputs files.  This is done through a new Xcode script
phase that runs the scripts/Xcode/prepare-gtest-run-dir.sh script.
That script simply copies the contents of all unittests/**/Inputs
dirs into ${TARGET_BUILD_DIR}/Inputs before running the test.

This change also renames the Xcode 'gtest-for-debugging' to
'gtest-build', and makes the gtest "build and run" target
depend on gtest-build.  This reduces replication within the
targets.  gtest .c/.cpp files now should only be added to
the gtest-build target.

llvm-svn: 281913
2016-09-19 16:42:41 +00:00
Todd Fiala ab7ccf0ecb added LLDB_PYTHON_TESTSUITE_ARCH Xcode variable
This Xcode build variable defaults to x86_64.  It can be set to i386
to cause the lldb-python-test-suite target run the tests in the
specified architecture.

This flag is being added for the zorg build script so that Green Dragon
can run the test suite against both x86_64 and i386 macOS targets.

llvm-svn: 281639
2016-09-15 18:28:03 +00:00
Todd Fiala 662b51f606 fixup Xcode build for removal of MIUtilParse.*
llvm-svn: 281352
2016-09-13 16:53:07 +00:00
Jason Molenda 180ccb4e78 Remove CxaDemangle.cpp / .h from xcode project file.
llvm-svn: 280879
2016-09-07 23:08:36 +00:00
Todd Fiala be1d3a0b0e added Xcode lldb-gtest-for-debugging target
The lldb-gtest target is for CI and runs the tests as
part of the build phase.  It does not support debugging
the gtests from Xcode, though, due to the run happening
during the build phase.

This change adds a lldb-gtest-for-debugging target that
can be used to debug gtests.

llvm-svn: 279354
2016-08-20 00:54:03 +00:00