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