llvm-capstone/lldb
Aleksandr Urakov 895529cfd8 [lldb][PDB] Constexpr static member values as AST literals
Summary:
When evaluating an expression referencing a constexpr static member variable, an
error is issued because the PDB does not specify a symbol with an address that
can be relocated against.

Rather than attempt to resolve the variable's value within the IR execution, the
values of all constants can be looked up and incorporated into the AST of the
record type as a literal, mirroring the original compiler AST.

This change applies to DIA and native PDB loaders.

Patch By: jackoalan

Reviewers: aleksandr.urakov, jasonmolenda, zturner, jdoerfert, teemperor

Reviewed By: aleksandr.urakov

Subscribers: sstefan1, lldb-commits, llvm-commits, #lldb

Tags: #lldb, #llvm

Differential Revision: https://reviews.llvm.org/D82160
2020-06-25 11:27:16 +03:00
..
bindings [lldb/Test] Assert that no targets or modules remain after a test completes. 2020-06-12 15:17:44 -07:00
cmake [lldb/Lua] Require Lua 5.3 2020-06-23 09:24:01 -07:00
docs [lldb] fix typo in docs: withing -> within 2020-06-24 05:19:47 -04:00
examples As part of using inclusive language within the llvm project, 2020-06-19 14:51:04 -07:00
include/lldb [lldb] Refactor Scalar::TruncOrExtendTo 2020-06-24 15:58:33 +02:00
packages/Python Redo of Add terminateCommands to lldb-vscode protocol 2020-06-23 12:51:43 -07:00
resources
scripts
source [lldb][PDB] Constexpr static member values as AST literals 2020-06-25 11:27:16 +03:00
test [lldb][PDB] Constexpr static member values as AST literals 2020-06-25 11:27:16 +03:00
third_party/Python/module
tools Redo of Add terminateCommands to lldb-vscode protocol 2020-06-23 12:51:43 -07:00
unittests [lldb] Refactor Scalar::TruncOrExtendTo 2020-06-24 15:58:33 +02:00
utils [lldb/Utils] Serialize exit code in lldb-repro.py 2020-05-05 16:05:49 -07:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt
CODE_OWNERS.txt
LICENSE.TXT
use_lldb_suite_root.py