<div dir="ltr">You can probably put this CL back in, just make sure you #include the appropriate file from LLVM in the header file.</div><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 20, 2015 at 6:44 PM Eugene Zelenko via lldb-commits <<a href="mailto:lldb-commits@lists.llvm.org">lldb-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: eugenezelenko<br>
Date: Tue Oct 20 20:42:15 2015<br>
New Revision: 250874<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=250874&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=250874&view=rev</a><br>
Log:<br>
Revert r250872 in source/Plugins/Disassembler to fix MSVC builds failures.<br>
<br>
Modified:<br>
lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp<br>
lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h<br>
<br>
Modified: lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp?rev=250874&r1=250873&r2=250874&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp?rev=250874&r1=250873&r2=250874&view=diff</a><br>
==============================================================================<br>
--- lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp (original)<br>
+++ lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp Tue Oct 20 20:42:15 2015<br>
@@ -7,9 +7,8 @@<br>
//<br>
//===----------------------------------------------------------------------===//<br>
<br>
-// C Includes<br>
-// C++ Includes<br>
-// Project includes<br>
+#include "DisassemblerLLVMC.h"<br>
+<br>
#include "llvm-c/Disassembler.h"<br>
#include "llvm/MC/MCAsmInfo.h"<br>
#include "llvm/MC/MCContext.h"<br>
@@ -26,8 +25,6 @@<br>
#include "llvm/Support/TargetSelect.h"<br>
#include "llvm/ADT/SmallString.h"<br>
<br>
-// Other libraries and framework includes<br>
-#include "DisassemblerLLVMC.h"<br>
<br>
#include "lldb/Core/Address.h"<br>
#include "lldb/Core/DataExtractor.h"<br>
@@ -61,10 +58,13 @@ public:<br>
{<br>
}<br>
<br>
- ~InstructionLLVMC() override = default;<br>
+ virtual<br>
+ ~InstructionLLVMC ()<br>
+ {<br>
+ }<br>
<br>
- bool<br>
- DoesBranch() override<br>
+ virtual bool<br>
+ DoesBranch ()<br>
{<br>
if (m_does_branch == eLazyBoolCalculate)<br>
{<br>
@@ -100,8 +100,8 @@ public:<br>
return m_does_branch == eLazyBoolYes;<br>
}<br>
<br>
- bool<br>
- HasDelaySlot() override<br>
+ virtual bool<br>
+ HasDelaySlot ()<br>
{<br>
if (m_has_delay_slot == eLazyBoolCalculate)<br>
{<br>
@@ -155,10 +155,10 @@ public:<br>
return llvm_disasm.m_disasm_ap.get();<br>
}<br>
<br>
- size_t<br>
- Decode(const lldb_private::Disassembler &disassembler,<br>
- const lldb_private::DataExtractor &data,<br>
- lldb::offset_t data_offset) override<br>
+ virtual size_t<br>
+ Decode (const lldb_private::Disassembler &disassembler,<br>
+ const lldb_private::DataExtractor &data,<br>
+ lldb::offset_t data_offset)<br>
{<br>
// All we have to do is read the opcode which can be easy for some<br>
// architectures<br>
@@ -272,8 +272,8 @@ public:<br>
}<br>
}<br>
<br>
- void<br>
- CalculateMnemonicOperandsAndComment(const lldb_private::ExecutionContext *exe_ctx) override<br>
+ virtual void<br>
+ CalculateMnemonicOperandsAndComment (const lldb_private::ExecutionContext *exe_ctx)<br>
{<br>
DataExtractor data;<br>
const AddressClass address_class = GetAddressClass ();<br>
@@ -452,6 +452,8 @@ protected:<br>
bool m_using_file_addr;<br>
};<br>
<br>
+<br>
+<br>
DisassemblerLLVMC::LLVMCDisassembler::LLVMCDisassembler (const char *triple, const char *cpu, const char *features_str, unsigned flavor, DisassemblerLLVMC &owner):<br>
m_is_valid(true)<br>
{<br>
@@ -519,6 +521,10 @@ DisassemblerLLVMC::LLVMCDisassembler::LL<br>
m_is_valid = false;<br>
}<br>
<br>
+DisassemblerLLVMC::LLVMCDisassembler::~LLVMCDisassembler()<br>
+{<br>
+}<br>
+<br>
uint64_t<br>
DisassemblerLLVMC::LLVMCDisassembler::GetMCInst (const uint8_t *opcode_data,<br>
size_t opcode_data_len,<br>
@@ -599,6 +605,7 @@ DisassemblerLLVMC::FlavorValidForArchSpe<br>
return false;<br>
}<br>
<br>
+<br>
Disassembler *<br>
DisassemblerLLVMC::CreateInstance (const ArchSpec &arch, const char *flavor)<br>
{<br>
@@ -775,6 +782,10 @@ DisassemblerLLVMC::DisassemblerLLVMC (co<br>
}<br>
}<br>
<br>
+DisassemblerLLVMC::~DisassemblerLLVMC()<br>
+{<br>
+}<br>
+<br>
size_t<br>
DisassemblerLLVMC::DecodeInstructions (const Address &base_addr,<br>
const DataExtractor& data,<br>
<br>
Modified: lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h?rev=250874&r1=250873&r2=250874&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h?rev=250874&r1=250873&r2=250874&view=diff</a><br>
==============================================================================<br>
--- lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h (original)<br>
+++ lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h Tue Oct 20 20:42:15 2015<br>
@@ -10,19 +10,10 @@<br>
#ifndef liblldb_DisassemblerLLVMC_h_<br>
#define liblldb_DisassemblerLLVMC_h_<br>
<br>
-// C Includes<br>
-// C++ Includes<br>
#include <string><br>
<br>
-// Other libraries and framework includes<br>
#include "llvm-c/Disassembler.h"<br>
<br>
-// Project includes<br>
-#include "lldb/Core/Address.h"<br>
-#include "lldb/Core/Disassembler.h"<br>
-#include "lldb/Core/PluginManager.h"<br>
-#include "lldb/Host/Mutex.h"<br>
-<br>
// Opaque references to C++ Objects in LLVM's MC.<br>
namespace llvm<br>
{<br>
@@ -34,7 +25,12 @@ namespace llvm<br>
class MCInstPrinter;<br>
class MCAsmInfo;<br>
class MCSubtargetInfo;<br>
-} // namespace llvm<br>
+}<br>
+<br>
+#include "lldb/Core/Address.h"<br>
+#include "lldb/Core/Disassembler.h"<br>
+#include "lldb/Core/PluginManager.h"<br>
+#include "lldb/Host/Mutex.h"<br>
<br>
class InstructionLLVMC;<br>
<br>
@@ -47,7 +43,7 @@ class DisassemblerLLVMC : public lldb_pr<br>
public:<br>
LLVMCDisassembler (const char *triple, const char *cpu, const char *features_str, unsigned flavor, DisassemblerLLVMC &owner);<br>
<br>
- ~LLVMCDisassembler() = default;<br>
+ ~LLVMCDisassembler();<br>
<br>
uint64_t GetMCInst (const uint8_t *opcode_data, size_t opcode_data_len, lldb::addr_t pc, llvm::MCInst &mc_inst);<br>
uint64_t PrintMCInst (llvm::MCInst &mc_inst, char *output_buffer, size_t out_buffer_len);<br>
@@ -71,10 +67,6 @@ class DisassemblerLLVMC : public lldb_pr<br>
};<br>
<br>
public:<br>
- DisassemblerLLVMC(const lldb_private::ArchSpec &arch, const char *flavor /* = NULL */);<br>
-<br>
- ~DisassemblerLLVMC() override = default;<br>
-<br>
//------------------------------------------------------------------<br>
// Static Functions<br>
//------------------------------------------------------------------<br>
@@ -90,28 +82,33 @@ public:<br>
static lldb_private::Disassembler *<br>
CreateInstance(const lldb_private::ArchSpec &arch, const char *flavor);<br>
<br>
- size_t<br>
- DecodeInstructions(const lldb_private::Address &base_addr,<br>
- const lldb_private::DataExtractor& data,<br>
- lldb::offset_t data_offset,<br>
- size_t num_instructions,<br>
- bool append,<br>
- bool data_from_file) override;<br>
+ DisassemblerLLVMC(const lldb_private::ArchSpec &arch, const char *flavor /* = NULL */);<br>
+<br>
+ virtual<br>
+ ~DisassemblerLLVMC();<br>
+<br>
+ virtual size_t<br>
+ DecodeInstructions (const lldb_private::Address &base_addr,<br>
+ const lldb_private::DataExtractor& data,<br>
+ lldb::offset_t data_offset,<br>
+ size_t num_instructions,<br>
+ bool append,<br>
+ bool data_from_file);<br>
<br>
//------------------------------------------------------------------<br>
// PluginInterface protocol<br>
//------------------------------------------------------------------<br>
- lldb_private::ConstString<br>
- GetPluginName() override;<br>
+ virtual lldb_private::ConstString<br>
+ GetPluginName();<br>
<br>
- uint32_t<br>
- GetPluginVersion() override;<br>
+ virtual uint32_t<br>
+ GetPluginVersion();<br>
<br>
protected:<br>
friend class InstructionLLVMC;<br>
<br>
- bool<br>
- FlavorValidForArchSpec(const lldb_private::ArchSpec &arch, const char *flavor) override;<br>
+ virtual bool<br>
+ FlavorValidForArchSpec (const lldb_private::ArchSpec &arch, const char *flavor);<br>
<br>
bool<br>
IsValid()<br>
@@ -167,4 +164,4 @@ protected:<br>
std::unique_ptr<LLVMCDisassembler> m_alternate_disasm_ap;<br>
};<br>
<br>
-#endif // liblldb_DisassemblerLLVM_h_<br>
+#endif // liblldb_DisassemblerLLVM_h_<br>
<br>
<br>
_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits</a><br>
</blockquote></div>