|
Revision tags: llvmorg-4.0.1-rc2 |
|
| #
97206d57 |
| 12-May-2017 |
Zachary Turner <[email protected]> |
Rename Error -> Status.
This renames the LLDB error class to Status, as discussed on the lldb-dev mailing list.
A change of this magnitude cannot easily be done without find and replace, but that h
Rename Error -> Status.
This renames the LLDB error class to Status, as discussed on the lldb-dev mailing list.
A change of this magnitude cannot easily be done without find and replace, but that has potential to catch unwanted occurrences of common strings such as "Error". Every effort was made to find all the obvious things such as the word "Error" appearing in a string, etc, but it's possible there are still some lingering occurences left around. Hopefully nothing too serious.
llvm-svn: 302872
show more ...
|
|
Revision tags: llvmorg-4.0.1-rc1 |
|
| #
bdbdd229 |
| 12-Apr-2017 |
Jim Ingham <[email protected]> |
Teach SBFrame how to guess its language.
<rdar://problem/31411646>
llvm-svn: 300012
|
| #
2f3df613 |
| 06-Apr-2017 |
Zachary Turner <[email protected]> |
iwyu fixes for lldbCore.
This adjusts header file includes for headers and source files in Core. In doing so, one dependency cycle is eliminated because all the includes from Core to that project w
iwyu fixes for lldbCore.
This adjusts header file includes for headers and source files in Core. In doing so, one dependency cycle is eliminated because all the includes from Core to that project were dead includes anyway. In places where some files in other projects were only compiling due to a transitive include from another header, fixups have been made so that those files also include the header they need. Tested on Windows and Linux, and plan to address failures on OSX and FreeBSD after watching the bots.
llvm-svn: 299714
show more ...
|
| #
99d1e28a |
| 31-Mar-2017 |
Jim Ingham <[email protected]> |
DisassembleRange can return an empty DisassemblerSP check for it.
<rdar://problem/31379799>
llvm-svn: 299276
|
| #
4c08fe28 |
| 31-Mar-2017 |
Tamas Berghammer <[email protected]> |
Add support for sythetic operator dereference
Summary: After this change a sythetic child provider can generate a special child named "$$dereference$$" what if present is used when "operator*" or "o
Add support for sythetic operator dereference
Summary: After this change a sythetic child provider can generate a special child named "$$dereference$$" what if present is used when "operator*" or "operator->" used on a ValueObject. The goal of the change is to make expressions like "up->foo" work inside the "frame variable" command.
Reviewers: labath, jingham
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D31368
llvm-svn: 299251
show more ...
|
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3 |
|
| #
3bc714b2 |
| 02-Mar-2017 |
Zachary Turner <[email protected]> |
Fix various warnings. NFC
llvm-svn: 296717
|
| #
8b3f2160 |
| 28-Feb-2017 |
Zachary Turner <[email protected]> |
Fix incorrect logic in StackFrame::Disassemble.
This had broken as the result of some previous cleanup.
llvm-svn: 296495
|
|
Revision tags: llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
| #
7edc3a6e |
| 21-Nov-2016 |
Zachary Turner <[email protected]> |
Fix a bug caught by adding LLVM_NODISCARD to StringRef.
llvm-svn: 287598
|
| #
0eb31a1d |
| 17-Nov-2016 |
Zachary Turner <[email protected]> |
Fix warnings and errors introduced with UUID changes.
llvm-svn: 287208
|
| #
24bd3178 |
| 17-Nov-2016 |
Zachary Turner <[email protected]> |
Make GetValueForVariableExpression use StringRef.
Also significantly reduced the indentation level by use of early returns, and simplified some of the logic by using StringRef functions such as cons
Make GetValueForVariableExpression use StringRef.
Also significantly reduced the indentation level by use of early returns, and simplified some of the logic by using StringRef functions such as consumeInteger() and getAsInteger() instead of strtoll, etc.
llvm-svn: 287189
show more ...
|
| #
c156427d |
| 16-Nov-2016 |
Zachary Turner <[email protected]> |
Don't allow direct access to StreamString's internal buffer.
This is a large API change that removes the two functions from StreamString that return a std::string& and a const std::string&, and inst
Don't allow direct access to StreamString's internal buffer.
This is a large API change that removes the two functions from StreamString that return a std::string& and a const std::string&, and instead provide one function which returns a StringRef.
Direct access to the underlying buffer violates the concept of a "stream" which is intended to provide forward only access, and makes porting to llvm::raw_ostream more difficult in the future.
Differential Revision: https://reviews.llvm.org/D26698
llvm-svn: 287152
show more ...
|
| #
22a2628f |
| 12-Nov-2016 |
Zachary Turner <[email protected]> |
Make ValueObjectMemory::Create accept StringRefs.
llvm-svn: 286726
|
| #
5a8ad459 |
| 05-Oct-2016 |
Zachary Turner <[email protected]> |
Make lldb -Werror clean on Windows.
Differential Revision: https://reviews.llvm.org/D25247
llvm-svn: 283344
|
| #
a0a1d2db |
| 29-Sep-2016 |
Sean Callanan <[email protected]> |
Introduced a null check to avoid a crash in a test on i386.
llvm-svn: 282653
|
| #
228e4abb |
| 21-Sep-2016 |
Ed Maste <[email protected]> |
Fix -Wcovered-switch-default warning in StackFrame.cpp
The switch coveres all possible values. If a new one is added in the future the compiler will start warning, providing a notification that the
Fix -Wcovered-switch-default warning in StackFrame.cpp
The switch coveres all possible values. If a new one is added in the future the compiler will start warning, providing a notification that the switch needs updating.
llvm-svn: 282111
show more ...
|
| #
9666ba75 |
| 21-Sep-2016 |
Todd Fiala <[email protected]> |
add stop column highlighting support
This change introduces optional marking of the column within a source line where a thread is stopped. This marking will show up when the source code for a threa
add stop column highlighting support
This change introduces optional marking of the column within a source line where a thread is stopped. This marking will show up when the source code for a thread stop is displayed, when the debug info knows the column information, and if the optional column marking is enabled.
There are two separate methods for handling the marking of the stop column:
* via ANSI terminal codes, which are added inline to the source line display. The default ANSI mark-up is to underline the column.
* via a pure text-based caret that is added in the appropriate column in a newly-inserted blank line underneath the source line in question.
There are some new options that control how this all works.
* settings set stop-show-column
This takes one of 4 values:
* ansi-or-caret: use the ANSI terminal code mechanism if LLDB is running with color enabled; if not, use the caret-based, pure text method (see the "caret" mode below).
* ansi: only use the ANSI terminal code mechanism to highlight the stop line. If LLDB is running with color disabled, no stop column marking will occur.
* caret: only use the pure text caret method, which introduces a newly-inserted line underneath the current line, where the only character in the new line is a caret that highlights the stop column in question.
* none: no stop column marking will be attempted.
* settings set stop-show-column-ansi-prefix
This is a text format that indicates the ANSI formatting code to insert into the stream immediately preceding the column where the stop column character will be marked up. It defaults to ${ansi.underline}; however, it can contain any valid LLDB format codes, e.g.
${ansi.fg.red}${ansi.bold}${ansi.underline}
* settings set stop-show-column-ansi-suffix
This is the text format that specifies the ANSI terminal codes to end the markup that was started with the prefix described above. It defaults to: ${ansi.normal}. This should be sufficient for the common cases.
Significant leg-work was done by Adrian Prantl. (Thanks, Adrian!)
differential review: https://reviews.llvm.org/D20835
reviewers: clayborg, jingham llvm-svn: 282105
show more ...
|
| #
561a9bbf |
| 14-Sep-2016 |
Sean Callanan <[email protected]> |
More cleanup in `frame diagnose,` eliminating a bunch of messy cases.
llvm-svn: 281545
|
| #
aa4b44c6 |
| 14-Sep-2016 |
Sean Callanan <[email protected]> |
Replaced two instances of std::function with auto.
Thanks to Zachary Turner for the suggestion. It's distasteful that the actual type of the lambda can't be spelled out, but it should be evident fr
Replaced two instances of std::function with auto.
Thanks to Zachary Turner for the suggestion. It's distasteful that the actual type of the lambda can't be spelled out, but it should be evident from the definition of the lambda body.
llvm-svn: 281536
show more ...
|
| #
0ac172d8 |
| 14-Sep-2016 |
Sean Callanan <[email protected]> |
Cleaned up a little bit of redundant code in 'frame diagnose.`
llvm-svn: 281534
|
| #
50857108 |
| 14-Sep-2016 |
Sean Callanan <[email protected]> |
Cleaned up the code that handles function return addresses in "frame diagnose."
llvm-svn: 281428
|
| #
807ee2ff |
| 13-Sep-2016 |
Sean Callanan <[email protected]> |
Cleaned up some of the "frame diagnose" code to use Operands as currency.
Also added some utility functions around Operands to make code easier and more compact to write.
llvm-svn: 281398
|
| #
4f730dc7 |
| 12-Sep-2016 |
Ilia K <[email protected]> |
Fix about a dozen compile warnings
Summary: It fixes the following compile warnings: 1. '0' flag ignored with precision and ‘%d’ gnu_printf format 2. enumeral and non-enumeral type in conditional ex
Fix about a dozen compile warnings
Summary: It fixes the following compile warnings: 1. '0' flag ignored with precision and ‘%d’ gnu_printf format 2. enumeral and non-enumeral type in conditional expression 3. format ‘%d’ expects argument of type ‘int’, but argument 4 has type ... 4. enumeration value ‘...’ not handled in switch 5. cast from type ‘const uint64_t* {aka ...}’ to type ‘int64_t* {aka ...}’ casts away qualifiers 6. extra ‘;’ 7. comparison between signed and unsigned integer expressions 8. variable ‘register_operand’ set but not used 9. control reaches end of non-void function
Reviewers: jingham, emaste, zturner, clayborg
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D24331
llvm-svn: 281191
show more ...
|
| #
0b4c26b2 |
| 08-Sep-2016 |
Jason Molenda <[email protected]> |
I'm experimenting with changing how the mixed source & assembly mode in lldb works. I've been discussing this with Jim Ingham, Greg Clayton, and Kate Stone for the past week or two.
Previously lldb
I'm experimenting with changing how the mixed source & assembly mode in lldb works. I've been discussing this with Jim Ingham, Greg Clayton, and Kate Stone for the past week or two.
Previously lldb would print three source lines (centered on the line table entry line for the current line) followed by the assembly. It would print the context information (module`function + offset) before those three lines of source.
Now lldb will print up to two lines before/after the line table entry. It prints two '*' characters for the line table line to make it clear what line is showing assembly. There is one line of whitespace before/after the source lines so the separation between source & assembly is clearer. I don't print the context line (module`function + offset). I stop printing context lines if it's a different line table entry, or if it's a source line I've already printed as context to another source line. If I have two line table entries one after another for the same source line (I get these often with clang - with different column information in them), I only print the source line once.
I'm also using the target.process.thread.step-avoid-regexp setting (which keeps you from stepping into STL functions that have been inlined into your own code) and avoid printing any source lines from functions that match that regexp.
When lldb disassembles into a new function, it will try to find the declaration line # for the function and print all of the source lines between the decl and the first line table entry (usually a { curly brace) so we have a good chance of including the arguments, at least with the debug info emitted by clang.
Finally, the # of source lines of context to show has been separated from whether we're doing mixed source & assembly or not. Previously specifying 0 lines of context would turn off mixed source & assembly.
I think there's room for improvement, and maybe some bugs I haven't found yet, but it's in good enough shape to upstream and iterate at this point.
I'm not sure how best to indicate which source line is the actual line table # versus context lines. I'm using '**' right now. Both Kate and Greg had the initial idea to reuse '->' (normally used to indicate "currently executing source line") - I tried it but I wasn't thrilled, I'm too used to the established meaning of ->.
Greg had the interesting idea of avoiding context source lines only in two line table entries in the same source file. So we'd print two lines before & after a source line, and then the next line table entry (if it was on the next source line after those two context lines) we'd display only the following two lines -- the previous two had just been printed. If an inline source line was printed between these two, though, we'd print the context lines for both of them. It's an interesting idea, and I want to see how it works with both -O0 and -O3 codegen where we have different amounts of inlining.
<rdar://problem/27961419>
llvm-svn: 280906
show more ...
|
| #
b9c1b51e |
| 06-Sep-2016 |
Kate Stone <[email protected]> |
*** This commit represents a complete reformatting of the LLDB source code *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications:
Firstly, merging t
*** This commit represents a complete reformatting of the LLDB source code *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications:
Firstly, merging this particular commit into a downstream fork may be a huge effort. Alternatively, it may be worth merging all changes up to this commit, performing the same reformatting operation locally, and then discarding the merge for this particular commit. The commands used to accomplish this reformatting were as follows (with current working directory as the root of the repository):
find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} + find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;
The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.
Secondly, “blame” style tools will generally point to this commit instead of a meaningful prior commit. There are alternatives available that will attempt to look through this change and find the appropriate prior commit. YMMV.
llvm-svn: 280751
show more ...
|
| #
5cf1ece2 |
| 06-Sep-2016 |
Pavel Labath <[email protected]> |
Fix build breakage in r280692
The commit introduced an array of const objects, which libstdc++ does not like. Make the object non-const.
Also fix a compiler warning while I'm in there.
llvm-svn: 2
Fix build breakage in r280692
The commit introduced an array of const objects, which libstdc++ does not like. Make the object non-const.
Also fix a compiler warning while I'm in there.
llvm-svn: 280697
show more ...
|