]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.h
Merge clang 7.0.1 and several follow-up changes
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / source / Plugins / SymbolFile / PDB / PDBLocationToDWARFExpression.h
1 //===-- PDBLocationToDWARFExpression.h --------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef lldb_Plugins_SymbolFile_PDB_PDBLocationToDWARFExpression_h_
11 #define lldb_Plugins_SymbolFile_PDB_PDBLocationToDWARFExpression_h_
12
13 #include "lldb/Core/Module.h"
14
15 namespace lldb_private {
16 class DWARFExpression;
17 }
18
19 namespace llvm {
20 namespace pdb {
21 class PDBSymbolData;
22 }
23 } // namespace llvm
24
25 //------------------------------------------------------------------------------
26 /// Converts a location information from a PDB symbol to a DWARF expression
27 ///
28 /// @param[in] module
29 ///     The module \a symbol belongs to.
30 ///
31 /// @param[in] symbol
32 ///     The symbol with a location information to convert.
33 ///
34 /// @param[out] is_constant
35 ///     Set to \b true if the result expression is a constant value data,
36 ///     and \b false if it is a DWARF bytecode.
37 ///
38 /// @return
39 ///     The DWARF expression corresponding to the location data of \a symbol.
40 //------------------------------------------------------------------------------
41 lldb_private::DWARFExpression
42 ConvertPDBLocationToDWARFExpression(lldb::ModuleSP module,
43                                     const llvm::pdb::PDBSymbolData &symbol,
44                                     bool &is_constant);
45 #endif