|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6 |
|
| #
ed8fceaa |
| 21-Jun-2022 |
Kazu Hirata <[email protected]> |
Don't use Optional::getValue (NFC)
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
8e776bb6 |
| 15-Mar-2022 |
Jonas Devlieghere <[email protected]> |
Re-land "[lldb] Synchronize output through the IOHandler"
Add synchronization to the IOHandler to prevent multiple threads from writing concurrently to the output or error stream.
A scenario where
Re-land "[lldb] Synchronize output through the IOHandler"
Add synchronization to the IOHandler to prevent multiple threads from writing concurrently to the output or error stream.
A scenario where this could happen is when a thread (the default event thread for example) is using the debugger's asynchronous stream. We would delegate this operation to the IOHandler which might be running on another thread. Until this patch there was nothing to synchronize the two at the IOHandler level.
Differential revision: https://reviews.llvm.org/D121500
show more ...
|
| #
9a5f04e0 |
| 15-Mar-2022 |
Jonas Devlieghere <[email protected]> |
Revert "[lldb] Synchronize output through the IOHandler"
This reverts commit 242c574dc03e4b90e992cc8d07436efc3954727f because it breaks the following tests on the bots:
- TestGuiExpandThreadsTree.
Revert "[lldb] Synchronize output through the IOHandler"
This reverts commit 242c574dc03e4b90e992cc8d07436efc3954727f because it breaks the following tests on the bots:
- TestGuiExpandThreadsTree.py - TestBreakpointCallbackCommandSource.py
show more ...
|
| #
242c574d |
| 15-Mar-2022 |
Jonas Devlieghere <[email protected]> |
[lldb] Synchronize output through the IOHandler
Add synchronization to the IOHandler to prevent multiple threads from writing concurrently to the output or error stream.
A scenario where this could
[lldb] Synchronize output through the IOHandler
Add synchronization to the IOHandler to prevent multiple threads from writing concurrently to the output or error stream.
A scenario where this could happen is when a thread (the default event thread for example) is using the debugger's asynchronous stream. We would delegate this operation to the IOHandler which might be running on another thread. Until this patch there was nothing to synchronize the two at the IOHandler level.
Differential revision: https://reviews.llvm.org/D121500
show more ...
|
| #
b0a76b01 |
| 14-Mar-2022 |
Jonas Devlieghere <[email protected]> |
[lldb] Fix the Windows build after D121536
|
| #
2436c570 |
| 14-Mar-2022 |
Jonas Devlieghere <[email protected]> |
[lldb] Use the IOHandler's stream instead of the debugger's in PrintAsync
PrintAsync is relying on the IOHandler to print to the output/error stream. In that context it doesn't make much sense that
[lldb] Use the IOHandler's stream instead of the debugger's in PrintAsync
PrintAsync is relying on the IOHandler to print to the output/error stream. In that context it doesn't make much sense that this is using the debugger's streams rather than the one from the IOHandler.
Differential revision: https://reviews.llvm.org/D121536
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
080635ef |
| 07-Mar-2022 |
Jonas Devlieghere <[email protected]> |
[lldb] Add a setting to change the autosuggestion ANSI escape codes
I'm a big fan of the autosuggestion feature but my terminal/color scheme doesn't display faint any differently than regular lldb o
[lldb] Add a setting to change the autosuggestion ANSI escape codes
I'm a big fan of the autosuggestion feature but my terminal/color scheme doesn't display faint any differently than regular lldb output, which makes the feature a little confusing. This patch add a setting to change the autosuggestion ANSI escape codes.
For example, to display the autosuggestion in italic, you can add this to your ~/.lldbinit
settings set show-autosuggestion-ansi-prefix ${ansi.italic} setting set show-autosuggestion-ansi-suffix ${ansi.normal}
Differential revision: https://reviews.llvm.org/D121064
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2 |
|
| #
32400005 |
| 09-Aug-2021 |
Raphael Isemann <[email protected]> |
[lldb][NFC] Remove never read member variable IOHandler::m_editing
The last read access to this variable was removed in 2015 in 4446487d71c52a925c04acfcae44dec8a8d62e00 .
|
|
Revision tags: llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
76e47d48 |
| 26-May-2021 |
Raphael Isemann <[email protected]> |
[lldb][NFC] Use C++ versions of the deprecated C standard library headers
The C headers are deprecated so as requested in D102845, this is replacing them all with their (not deprecated) C++ equivale
[lldb][NFC] Use C++ versions of the deprecated C standard library headers
The C headers are deprecated so as requested in D102845, this is replacing them all with their (not deprecated) C++ equivalent.
Reviewed By: shafik
Differential Revision: https://reviews.llvm.org/D103084
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3 |
|
| #
5826aa48 |
| 02-Mar-2021 |
Neal (nealsid) <[email protected]> |
Migrate to llvm::unique_function instead of static member functions for callbacks
A few cleanups suggested in another patch review's comments:
1. Use llvm:unique_function for storing & invoking cal
Migrate to llvm::unique_function instead of static member functions for callbacks
A few cleanups suggested in another patch review's comments:
1. Use llvm:unique_function for storing & invoking callbacks from Editline to IOHandler 2. Change return type of one of the callback setters from bool to void, since it's return value was never used 3. Moved the callback setters inline & made them nonstatic, since that's more consistent with other setter definitions 4. Removed the baton parameter since we no longer need it anymore
Differential revision: https://reviews.llvm.org/D50299
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
| #
57dd9274 |
| 17-Sep-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Return FileSP and StreamFileSP by value in IOHandler (NFC)
Smart pointers should be returned by value.
|
| #
bb894b97 |
| 22-Aug-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Extract reproducer providers & co into their own header.
Extract all the provider related logic from Reproducer.h and move it into its own header ReproducerProvider.h. These classes are seein
[lldb] Extract reproducer providers & co into their own header.
Extract all the provider related logic from Reproducer.h and move it into its own header ReproducerProvider.h. These classes are seeing most of the development these days and this reorganization reduces incremental compilation from ~520 to ~110 files when making changes to the new header.
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2 |
|
| #
de9e8502 |
| 12-Aug-2020 |
Shu Anzai <[email protected]> |
[lldb] Display autosuggestion part in gray if there is one possible suggestion
This is relanding D81001. The patch originally failed as on newer editline versions it seems CC_REFRESH will move the c
[lldb] Display autosuggestion part in gray if there is one possible suggestion
This is relanding D81001. The patch originally failed as on newer editline versions it seems CC_REFRESH will move the cursor to the start of the line via \r and then back to the original position. On older editline versions like the one used by default on macOS, CC_REFRESH doesn't move the cursor at all. As the patch changed the way we handle tab completion (previously we did REDISPLAY but now we're doing CC_REFRESH), this caused a few completion tests to receive this unexpected cursor movement in the output stream. This patch updates those tests to also accept output that contains the specific cursor movement commands (\r and then \x1b[XC). lldbpexpect.py received an utility method for generating the cursor movement escape sequence.
Original summary:
I implemented autosuggestion if there is one possible suggestion. I set the keybinds for every character. When a character is typed, Editline::TypedCharacter is called. Then, autosuggestion part is displayed in gray, and you can actually input by typing C-k. Editline::Autosuggest is a function for finding completion, and it is like Editline::TabCommand now, but I will add more features to it.
Testing does not work well in my environment, so I can't confirm that it goes well, sorry. I am dealing with it now.
Reviewed By: teemperor, JDevlieghere, #lldb
Differential Revision: https://reviews.llvm.org/D81001
show more ...
|
| #
cff880b0 |
| 12-Aug-2020 |
Raphael Isemann <[email protected]> |
Revert "[lldb] Display autosuggestion part in gray if there is one possible suggestion"
This reverts commit 246afe0cd17fce935a01171f3cca548e02523e5c. This broke the following tests on Linux it seems
Revert "[lldb] Display autosuggestion part in gray if there is one possible suggestion"
This reverts commit 246afe0cd17fce935a01171f3cca548e02523e5c. This broke the following tests on Linux it seems: lldb-api :: commands/expression/multiline-completion/TestMultilineCompletion.py lldb-api :: iohandler/completion/TestIOHandlerCompletion.py
show more ...
|
| #
246afe0c |
| 12-Aug-2020 |
Shu Anzai <[email protected]> |
[lldb] Display autosuggestion part in gray if there is one possible suggestion
I implemented autosuggestion if there is one possible suggestion. I set the keybinds for every character. When a charac
[lldb] Display autosuggestion part in gray if there is one possible suggestion
I implemented autosuggestion if there is one possible suggestion. I set the keybinds for every character. When a character is typed, Editline::TypedCharacter is called. Then, autosuggestion part is displayed in gray, and you can actually input by typing C-k. Editline::Autosuggest is a function for finding completion, and it is like Editline::TabCommand now, but I will add more features to it.
Testing does not work well in my environment, so I can't confirm that it goes well, sorry. I am dealing with it now.
Reviewed By: teemperor, JDevlieghere, #lldb
Differential Revision: https://reviews.llvm.org/D81001
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
| #
06412dae |
| 25-Jun-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Use std::make_unique<> (NFC)
Update the rest of lldb to use std::make_unique<>. I used clang-tidy to automate this, which probably missed cases that are wrapped in ifdefs.
|
| #
f5eaa2af |
| 19-Jun-2020 |
Raphael Isemann <[email protected]> |
[lldb] Replace std::isprint/isspace with llvm's locale-independent version
Summary: LLVM is using its own isPrint/isSpace implementation that doesn't change depending on the current locale. LLDB sho
[lldb] Replace std::isprint/isspace with llvm's locale-independent version
Summary: LLVM is using its own isPrint/isSpace implementation that doesn't change depending on the current locale. LLDB should do the same to prevent that internal logic changes depending on the set locale.
Reviewers: JDevlieghere, labath, mib, totally_not_teemperor
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D82175
show more ...
|
| #
be18df3d |
| 19-Jun-2020 |
Raphael Isemann <[email protected]> |
[lldb] Fix that SIGWINCH crashes IOHandlerEditline when we are not using the editline backend
Summary: TerminalSizeChanged is called from our SIGWINCH signal handler but the IOHandlerEditline curren
[lldb] Fix that SIGWINCH crashes IOHandlerEditline when we are not using the editline backend
Summary: TerminalSizeChanged is called from our SIGWINCH signal handler but the IOHandlerEditline currently doesn't check if we are actually using the real editline backend. If we're not using the real editline backend, `m_editline_up` won't be set and `IOHandlerEditline::TerminalSizeChanged` will access the empty unique_ptr. In a real use case we don't use the editline backend when we for example read input from a file. We also create some temporary IOHandlerEditline's during LLDB startup it seems that are also treated as non-interactive (apparently to read startup commands).
This patch just adds a nullptr check for`m_editline_up` as we do in the rest of IOHandlerEditline.
Fixes rdar://problem/63921950
Reviewers: labath, friss
Reviewed By: friss
Subscribers: abidh, JDevlieghere
Differential Revision: https://reviews.llvm.org/D81729
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc1 |
|
| #
d9166ad2 |
| 08-May-2020 |
Fred Riss <[email protected]> |
[lldb/Driver] Support terminal resizing
Summary: The comment in the Editine.h header made it sound like editline was just unable to handle terminal resizing. We were not ever telling editline that t
[lldb/Driver] Support terminal resizing
Summary: The comment in the Editine.h header made it sound like editline was just unable to handle terminal resizing. We were not ever telling editline that the terminal had changed size, which might explain why it wasn't working.
This patch threads a `TerminalSizeChanged()` callback through the IOHandler and invokes it from the SIGWINCH handler in the driver. Our `Editline` class already had a `TerminalSizeChanged()` method which was invoked only when editline was configured.
This patch also changes `Editline` to not apply the changes right away in `TerminalSizeChanged()`, but instead defer that to the next character read. During my testing, it happened once that the signal was received while our `ConnectionFileDescriptor::Read` was allocating memory. As `el_resize` seems to allocate memory too, this crashed.
Reviewers: labath, teemperor
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D79654
show more ...
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
| #
4deea652 |
| 02-Mar-2020 |
Pavel Labath <[email protected]> |
[lldb] Make sure we don't drop asynchronous output when sourcing files
Summary: If a command from a sourced file produces asynchronous output, this output often does not make its way to the user. Th
[lldb] Make sure we don't drop asynchronous output when sourcing files
Summary: If a command from a sourced file produces asynchronous output, this output often does not make its way to the user. This happens because the asynchronous output machinery relies on the iohandler stack to ensure the output does not interfere with the things the iohandler is doing.
However, if this happens near the end of the command stream then by the time the asynchronous output is produced we may already have already started tearing down the sourcing session. Specifically, we may already pop the relevant iohandler, leaving the stack empty.
This patch makes sure this kind of output gets printed by adding a fallback to IOHandlerStack::PrintAsync to print the output directly if the stack is empty. This is safe because if we have no iohandlers then there is nothing to synchronize.
Reviewers: JDevlieghere, clayborg
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D75454
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1 |
|
| #
adcd0268 |
| 28-Jan-2020 |
Benjamin Kramer <[email protected]> |
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly m
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly mechanical from a custom clang-tidy check, with a lot of manual fixups. It uncovers a lot of minor inefficiencies.
This doesn't actually modify StringRef yet, I'll do that in a follow-up.
show more ...
|
| #
80814287 |
| 24-Jan-2020 |
Raphael Isemann <[email protected]> |
[lldb][NFC] Fix all formatting errors in .cpp file headers
Summary: A *.cpp file header in LLDB (and in LLDB) should like this: ``` //===-- TestUtilities.cpp ----------------------------------------
[lldb][NFC] Fix all formatting errors in .cpp file headers
Summary: A *.cpp file header in LLDB (and in LLDB) should like this: ``` //===-- TestUtilities.cpp -------------------------------------------------===// ``` However in LLDB most of our source files have arbitrary changes to this format and these changes are spreading through LLDB as folks usually just use the existing source files as templates for their new files (most notably the unnecessary editor language indicator `-*- C++ -*-` is spreading and in every review someone is pointing out that this is wrong, resulting in people pointing out that this is done in the same way in other files).
This patch removes most of these inconsistencies including the editor language indicators, all the different missing/additional '-' characters, files that center the file name, missing trailing `===//` (mostly caused by clang-format breaking the line).
Reviewers: aprantl, espindola, jfb, shafik, JDevlieghere
Reviewed By: JDevlieghere
Subscribers: dexonsmith, wuzish, emaste, sdardis, nemanjai, kbarton, MaskRay, atanasyan, arphaman, jfb, abidh, jsji, JDevlieghere, usaxena95, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D73258
show more ...
|
|
Revision tags: llvmorg-11-init |
|
| #
babbd554 |
| 12-Dec-2019 |
Jonas Devlieghere <[email protected]> |
[lldb/Core] Add missing include
This got flagged by the modules build.
|
| #
62456e57 |
| 12-Dec-2019 |
Jonas Devlieghere <[email protected]> |
[lldb/CMake] Rename LLDB_DISABLE_LIBEDIT to LLDB_ENABLE_LIBEDIT
This matches the naming scheme used by LLVM.
Differential revision: https://reviews.llvm.org/D71380
|
|
Revision tags: llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2 |
|
| #
7caa17ca |
| 03-Dec-2019 |
Raphael Isemann <[email protected]> |
[lldb][NFC] Move Curses interface implementation to own file
Summary: The IOHandler class source file is currently around 4600 LOC. However only 200 of these lines are concerned with the actual IOHa
[lldb][NFC] Move Curses interface implementation to own file
Summary: The IOHandler class source file is currently around 4600 LOC. However only 200 of these lines are concerned with the actual IOHandler class and the rest are the implementations for Editline, IOHandlerConfirm and the Curses interface. All these large features also cause that the IOHandler (which is in Core) has a large set of dependencies on other parts of LLDB.
This patch splits out the code for the curses interface into its own file. This way the simple IOHandler code is no longer buried in-between much larger functionalities.
Next up is splitting out the other IOHandlers into their own files and then move them to more appropriate parts of LLDB.
Reviewers: labath, clayborg, JDevlieghere
Reviewed By: labath
Subscribers: mgorny, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70946
show more ...
|