llvm-project/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 [lldb/Scripts] proc.returncode is set in proc.communicate 2020-04-21 11:30:15 -07:00
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 [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
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 [lldb] Add .clang-tidy with customization to disable readability-identifier-naming 2020-03-09 12:50:28 -07:00
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt [lldb/CMake] Only CMAKE_CFG_INTDIR if it's not '.' 2020-03-27 17:49:00 -07:00
CODE_OWNERS.txt [lldb][NFC] Cleanup mentions and code related to lldb-mi 2019-07-19 15:55:23 +00:00
LICENSE.TXT
use_lldb_suite_root.py