summaryrefslogtreecommitdiff
path: root/docs/SourceLevelDebugging.rst
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2014-10-01 18:10:54 +0000
committerAdrian Prantl <aprantl@apple.com>2014-10-01 18:10:54 +0000
commit10c4265675595f84ce1ea4d53da342bc7b1add1a (patch)
treeb51120bb22035fcfdb58d4b24a32b748442ccff7 /docs/SourceLevelDebugging.rst
parent076fd5dfc1f0600183bbc7db974dc7b39086136d (diff)
Revert r218778 while investigating buldbot breakage.
"Move the complex address expression out of DIVariable and into an extra" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218782 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/SourceLevelDebugging.rst')
-rw-r--r--docs/SourceLevelDebugging.rst17
1 files changed, 2 insertions, 15 deletions
diff --git a/docs/SourceLevelDebugging.rst b/docs/SourceLevelDebugging.rst
index 8acd90122b4..f7b62cb0872 100644
--- a/docs/SourceLevelDebugging.rst
+++ b/docs/SourceLevelDebugging.rst
@@ -571,7 +571,7 @@ Local variables
metadata, ;; Reference to the type descriptor
i32, ;; flags
metadata ;; (optional) Reference to inline location
- metadata ;; (optional) Reference to a complex expression.
+ metadata ;; (optional) Reference to a complex expression (see below)
}
These descriptors are used to define variables local to a sub program. The
@@ -590,20 +590,7 @@ The context is either the subprogram or block where the variable is defined.
Name the source variable name. Context and line indicate where the variable
was defined. Type descriptor defines the declared type of the variable.
-Complex Expressions
-^^^^^^^^^^^^^^^^^^^
-.. code-block:: llvm
-
- !8 = metadata !{
- i32, ;; DW_TAG_expression
- ...
- }
-
-Complex expressions describe variable storage locations in terms of
-prefix-notated DWARF expressions. Currently the only supported
-operators are ``DW_OP_plus``, ``DW_OP_deref``, and ``DW_OP_piece``.
-
-The ``DW_OP_piece`` operator is used for (typically larger aggregate)
+The ``OpPiece`` operator is used for (typically larger aggregate)
variables that are fragmented across several locations. It takes two
i32 arguments, an offset and a size in bytes to describe which piece
of the variable is at this location.