Revert r250872 in source/Plugins/Disassembler to fix MSVC builds failures.

llvm-svn: 250874
This commit is contained in:
Eugene Zelenko 2015-10-21 01:42:15 +00:00
parent 100424124b
commit 8dd3fdbf43
2 changed files with 53 additions and 45 deletions

View File

@ -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,

View File

@ -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_