[all-commits] [llvm/llvm-project] 895529: [lldb][PDB] Constexpr static member values as AST ...
aleksandr-urakov via All-commits
all-commits at lists.llvm.org
Thu Jun 25 01:27:59 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 895529cfd8756e2b4dc609f5af92e0d8ae280ed8
https://github.com/llvm/llvm-project/commit/895529cfd8756e2b4dc609f5af92e0d8ae280ed8
Author: Aleksandr Urakov <Aleksandr.Urakov at jetbrains.com>
Date: 2020-06-25 (Thu, 25 Jun 2020)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/test/Shell/SymbolFile/PDB/Inputs/AstRestoreTest.cpp
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M llvm/include/llvm/DebugInfo/PDB/PDBTypes.h
Log Message:
-----------
[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
More information about the All-commits
mailing list