stored relative to VFRAME Summary: This patch makes LLDB able to retrieve proper values for function arguments and local variables stored in PDB relative to VFRAME register. Patch contains retrieval of corresponding FPO table entries from PDB and a generic translator from FPO programs to DWARF expressions to get correct VFRAME value. Patch also improves variables-locations.test and makes this test passable on x86. Patch By: leonid.mashinsky Reviewers: zturner, asmith, stella.stamenova, aleksandr.urakov Reviewed By: zturner Subscribers: arphaman, labath, mgorny, aprantl, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D55122 llvm-svn: 352845
30 lines
951 B
C++
30 lines
951 B
C++
//===-- PDBFPOProgramToDWARFExpression.h ------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef lldb_Plugins_SymbolFile_PDB_PDBFPOProgramToDWARFExpression_h_
|
|
#define lldb_Plugins_SymbolFile_PDB_PDBFPOProgramToDWARFExpression_h_
|
|
|
|
#include "llvm/ADT/StringRef.h"
|
|
#include "llvm/ADT/Triple.h"
|
|
|
|
namespace lldb_private {
|
|
class Stream;
|
|
|
|
namespace npdb {
|
|
|
|
bool TranslateFPOProgramToDWARFExpression(llvm::StringRef program,
|
|
llvm::StringRef register_name,
|
|
llvm::Triple::ArchType arch_type,
|
|
lldb_private::Stream &stream);
|
|
|
|
} // namespace npdb
|
|
} // namespace lldb_private
|
|
|
|
#endif
|