llvm-project/lldb/examples
Walter Erquinigo 0283abee5c [lldb] Fix gnu_libstdcpp's update methods
The variable.rst documentation says:

```
If it returns a value, and that value is True, LLDB will be allowed to cache the children and the children count it previously obtained, and will not return to the provider class to ask.  If nothing, None, or anything other than True is returned, LLDB will discard the cached information and ask. Regardless, whenever necessary LLDB will call update.
```

However, several update methods in gnu_libstdcpp.py were returning True,
which made lldb unaware of any changes in the corresponding objects.
This problem was visible by lldb-vscode in the following way:

- If a breakpoint is hit and there's a vector with the contents {1, 2},
  it'll be displayed correctly.
- Then the user steps and the next stop contains the vector modified.
  The program changed it to {1, 2, 3}
- frame var then displays {1, 2} incorrectly, due to the caching caused
by the update method

It's worth mentioning that none of libcxx.py'd update methods return True. Same for LibCxxVector.cpp, which returns false.

Added a very simple test that fails without this fix.

Differential Revision: https://reviews.llvm.org/D103209
2021-05-26 14:52:38 -07:00
..
customization Python 2/3 compat: StringIO 2019-03-25 15:23:34 +00:00
darwin/heap_find [lldb/examples] Add missing declaration in heap.py 2020-09-24 08:44:45 -07:00
functions [NFC] Remove ASCII lines from comments 2019-04-10 20:48:55 +00:00
interposing/darwin/fd_interposing [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 13:23:53 -04:00
lookup [NFC] Remove ASCII lines from comments 2019-04-10 20:48:55 +00:00
plugins/commands Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
python [lldb] [gdb-remote server] Introduce new stop reasons for fork and vfork 2021-04-24 11:08:33 +02:00
scripting Python 2/3 compatibility: from __future__ import print_function 2019-03-21 18:27:40 +00:00
summaries Python 2/3 compat: str vs basestring 2019-03-25 15:21:29 +00:00
synthetic [lldb] Fix gnu_libstdcpp's update methods 2021-05-26 14:52:38 -07:00
test [lldb] Remove LLDB session dir and just store test traces in the respective test build directory 2020-12-04 11:43:10 +01:00