Revert r250872 in source/Plugins/Disassembler to fix MSVC builds failures.
llvm-svn: 250874
This commit is contained in:
parent
100424124b
commit
8dd3fdbf43
|
@ -7,9 +7,8 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// C Includes
|
||||
// C++ Includes
|
||||
// Project includes
|
||||
#include "DisassemblerLLVMC.h"
|
||||
|
||||
#include "llvm-c/Disassembler.h"
|
||||
#include "llvm/MC/MCAsmInfo.h"
|
||||
#include "llvm/MC/MCContext.h"
|
||||
|
@ -26,8 +25,6 @@
|
|||
#include "llvm/Support/TargetSelect.h"
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
|
||||
// Other libraries and framework includes
|
||||
#include "DisassemblerLLVMC.h"
|
||||
|
||||
#include "lldb/Core/Address.h"
|
||||
#include "lldb/Core/DataExtractor.h"
|
||||
|
@ -61,10 +58,13 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
~InstructionLLVMC() override = default;
|
||||
virtual
|
||||
~InstructionLLVMC ()
|
||||
{
|
||||
}
|
||||
|
||||
bool
|
||||
DoesBranch() override
|
||||
virtual bool
|
||||
DoesBranch ()
|
||||
{
|
||||
if (m_does_branch == eLazyBoolCalculate)
|
||||
{
|
||||
|
@ -100,8 +100,8 @@ public:
|
|||
return m_does_branch == eLazyBoolYes;
|
||||
}
|
||||
|
||||
bool
|
||||
HasDelaySlot() override
|
||||
virtual bool
|
||||
HasDelaySlot ()
|
||||
{
|
||||
if (m_has_delay_slot == eLazyBoolCalculate)
|
||||
{
|
||||
|
@ -155,10 +155,10 @@ public:
|
|||
return llvm_disasm.m_disasm_ap.get();
|
||||
}
|
||||
|
||||
size_t
|
||||
Decode(const lldb_private::Disassembler &disassembler,
|
||||
const lldb_private::DataExtractor &data,
|
||||
lldb::offset_t data_offset) override
|
||||
virtual size_t
|
||||
Decode (const lldb_private::Disassembler &disassembler,
|
||||
const lldb_private::DataExtractor &data,
|
||||
lldb::offset_t data_offset)
|
||||
{
|
||||
// All we have to do is read the opcode which can be easy for some
|
||||
// architectures
|
||||
|
@ -272,8 +272,8 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
CalculateMnemonicOperandsAndComment(const lldb_private::ExecutionContext *exe_ctx) override
|
||||
virtual void
|
||||
CalculateMnemonicOperandsAndComment (const lldb_private::ExecutionContext *exe_ctx)
|
||||
{
|
||||
DataExtractor data;
|
||||
const AddressClass address_class = GetAddressClass ();
|
||||
|
@ -452,6 +452,8 @@ protected:
|
|||
bool m_using_file_addr;
|
||||
};
|
||||
|
||||
|
||||
|
||||
DisassemblerLLVMC::LLVMCDisassembler::LLVMCDisassembler (const char *triple, const char *cpu, const char *features_str, unsigned flavor, DisassemblerLLVMC &owner):
|
||||
m_is_valid(true)
|
||||
{
|
||||
|
@ -519,6 +521,10 @@ DisassemblerLLVMC::LLVMCDisassembler::LLVMCDisassembler (const char *triple, con
|
|||
m_is_valid = false;
|
||||
}
|
||||
|
||||
DisassemblerLLVMC::LLVMCDisassembler::~LLVMCDisassembler()
|
||||
{
|
||||
}
|
||||
|
||||
uint64_t
|
||||
DisassemblerLLVMC::LLVMCDisassembler::GetMCInst (const uint8_t *opcode_data,
|
||||
size_t opcode_data_len,
|
||||
|
@ -599,6 +605,7 @@ DisassemblerLLVMC::FlavorValidForArchSpec (const lldb_private::ArchSpec &arch, c
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
Disassembler *
|
||||
DisassemblerLLVMC::CreateInstance (const ArchSpec &arch, const char *flavor)
|
||||
{
|
||||
|
@ -775,6 +782,10 @@ DisassemblerLLVMC::DisassemblerLLVMC (const ArchSpec &arch, const char *flavor_s
|
|||
}
|
||||
}
|
||||
|
||||
DisassemblerLLVMC::~DisassemblerLLVMC()
|
||||
{
|
||||
}
|
||||
|
||||
size_t
|
||||
DisassemblerLLVMC::DecodeInstructions (const Address &base_addr,
|
||||
const DataExtractor& data,
|
||||
|
|
|
@ -10,19 +10,10 @@
|
|||
#ifndef liblldb_DisassemblerLLVMC_h_
|
||||
#define liblldb_DisassemblerLLVMC_h_
|
||||
|
||||
// C Includes
|
||||
// C++ Includes
|
||||
#include <string>
|
||||
|
||||
// Other libraries and framework includes
|
||||
#include "llvm-c/Disassembler.h"
|
||||
|
||||
// Project includes
|
||||
#include "lldb/Core/Address.h"
|
||||
#include "lldb/Core/Disassembler.h"
|
||||
#include "lldb/Core/PluginManager.h"
|
||||
#include "lldb/Host/Mutex.h"
|
||||
|
||||
// Opaque references to C++ Objects in LLVM's MC.
|
||||
namespace llvm
|
||||
{
|
||||
|
@ -34,7 +25,12 @@ namespace llvm
|
|||
class MCInstPrinter;
|
||||
class MCAsmInfo;
|
||||
class MCSubtargetInfo;
|
||||
} // namespace llvm
|
||||
}
|
||||
|
||||
#include "lldb/Core/Address.h"
|
||||
#include "lldb/Core/Disassembler.h"
|
||||
#include "lldb/Core/PluginManager.h"
|
||||
#include "lldb/Host/Mutex.h"
|
||||
|
||||
class InstructionLLVMC;
|
||||
|
||||
|
@ -47,7 +43,7 @@ class DisassemblerLLVMC : public lldb_private::Disassembler
|
|||
public:
|
||||
LLVMCDisassembler (const char *triple, const char *cpu, const char *features_str, unsigned flavor, DisassemblerLLVMC &owner);
|
||||
|
||||
~LLVMCDisassembler() = default;
|
||||
~LLVMCDisassembler();
|
||||
|
||||
uint64_t GetMCInst (const uint8_t *opcode_data, size_t opcode_data_len, lldb::addr_t pc, llvm::MCInst &mc_inst);
|
||||
uint64_t PrintMCInst (llvm::MCInst &mc_inst, char *output_buffer, size_t out_buffer_len);
|
||||
|
@ -71,10 +67,6 @@ class DisassemblerLLVMC : public lldb_private::Disassembler
|
|||
};
|
||||
|
||||
public:
|
||||
DisassemblerLLVMC(const lldb_private::ArchSpec &arch, const char *flavor /* = NULL */);
|
||||
|
||||
~DisassemblerLLVMC() override = default;
|
||||
|
||||
//------------------------------------------------------------------
|
||||
// Static Functions
|
||||
//------------------------------------------------------------------
|
||||
|
@ -90,28 +82,33 @@ public:
|
|||
static lldb_private::Disassembler *
|
||||
CreateInstance(const lldb_private::ArchSpec &arch, const char *flavor);
|
||||
|
||||
size_t
|
||||
DecodeInstructions(const lldb_private::Address &base_addr,
|
||||
const lldb_private::DataExtractor& data,
|
||||
lldb::offset_t data_offset,
|
||||
size_t num_instructions,
|
||||
bool append,
|
||||
bool data_from_file) override;
|
||||
DisassemblerLLVMC(const lldb_private::ArchSpec &arch, const char *flavor /* = NULL */);
|
||||
|
||||
virtual
|
||||
~DisassemblerLLVMC();
|
||||
|
||||
virtual size_t
|
||||
DecodeInstructions (const lldb_private::Address &base_addr,
|
||||
const lldb_private::DataExtractor& data,
|
||||
lldb::offset_t data_offset,
|
||||
size_t num_instructions,
|
||||
bool append,
|
||||
bool data_from_file);
|
||||
|
||||
//------------------------------------------------------------------
|
||||
// PluginInterface protocol
|
||||
//------------------------------------------------------------------
|
||||
lldb_private::ConstString
|
||||
GetPluginName() override;
|
||||
virtual lldb_private::ConstString
|
||||
GetPluginName();
|
||||
|
||||
uint32_t
|
||||
GetPluginVersion() override;
|
||||
virtual uint32_t
|
||||
GetPluginVersion();
|
||||
|
||||
protected:
|
||||
friend class InstructionLLVMC;
|
||||
|
||||
bool
|
||||
FlavorValidForArchSpec(const lldb_private::ArchSpec &arch, const char *flavor) override;
|
||||
virtual bool
|
||||
FlavorValidForArchSpec (const lldb_private::ArchSpec &arch, const char *flavor);
|
||||
|
||||
bool
|
||||
IsValid()
|
||||
|
@ -167,4 +164,4 @@ protected:
|
|||
std::unique_ptr<LLVMCDisassembler> m_alternate_disasm_ap;
|
||||
};
|
||||
|
||||
#endif // liblldb_DisassemblerLLVM_h_
|
||||
#endif // liblldb_DisassemblerLLVM_h_
|
||||
|
|
Loading…
Reference in New Issue