[Lldb-commits] [PATCH] D99827: Clarifying the documentation for variable formatting wrt to qualifiers and adding a test that demonstrates this
Shafik Yaghmour via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Apr 7 14:31:39 PDT 2021
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG79ac5bbb96c4: [LLDB] Clarifying the documentation for variable formatting wrt to qualifiers… (authored by shafik).
Herald added a project: LLDB.
Changed prior to commit:
https://reviews.llvm.org/D99827?vs=335929&id=335930#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99827/new/
https://reviews.llvm.org/D99827
Files:
lldb/docs/use/variable.rst
lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp
Index: lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp
+++ lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp
@@ -128,6 +128,9 @@
{
int iAmInt = 9;
+ const int constInt = 42;
+ volatile int volatileInt = 43;
+ const volatile int constVolatileInt = 44;
i_am_cool cool_boy(1,0.5,3);
i_am_cooler cooler_boy(1,2,0.1,0.2,'A','B');
Index: lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
@@ -244,6 +244,12 @@
self.expect("frame variable a_simple_object", matching=True,
substrs=['x=0x00000003'])
+ self.expect_var_path("constInt", value='0x0000002a')
+
+ self.expect_var_path("volatileInt", value='0x0000002b')
+
+ self.expect_var_path("constVolatileInt", value='0x0000002c')
+
# check that we can correctly cap the number of children shown
self.runCmd("settings set target.max-children-count 5")
Index: lldb/docs/use/variable.rst
===================================================================
--- lldb/docs/use/variable.rst
+++ lldb/docs/use/variable.rst
@@ -131,6 +131,20 @@
(C) c = {0x03 0x00 0x00 0x00}
(D) d = 4
+Note, that qualifiers such as const and volatile will be stripped when matching types for example:
+
+::
+
+ (lldb) frame var x y z
+ (int) x = 1
+ (const int) y = 2
+ (volatile int) z = 4
+ (lldb) type format add -f hex int
+ (lldb) frame var x y z
+ (int) x = 0x00000001
+ (const int) y = 0x00000002
+ (volatile int) z = 0x00000004
+
Two additional options that you will want to look at are --skip-pointers (-p)
and --skip-references (-r). These two options prevent LLDB from applying a
format for type T to values of type T* and T& respectively.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99827.335930.patch
Type: text/x-patch
Size: 2220 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210407/19bc8c7d/attachment.bin>
More information about the lldb-commits
mailing list