[lldb-dev] Help with MSVC build issues

Zachary Turner via lldb-dev lldb-dev at lists.llvm.org
Thu Oct 22 11:15:34 PDT 2015


For the disassembler patch, the problem is you've defaulted the destructor
but you've got a unique_ptr to a forward declared class.  MSVC is actually
correct in failing to compile this, and I'm not sure why other compilers
are accepting it.  My guess is something to do with the order of includes
from the cpp file.

To fix this you need to remove the `default` keyword from the destructor
and provide an empty implementation of the destructor in
DisassemblerLLVMC.cpp

This problem occurs in other places too.  In OperatingSystemGo.h the same
problem exists with DynamicRegisterInfo.  That's the one causing the
operating system patch to fail.

What compiler are you testing this with?  This should fail under clang as
well, I'm surprised it doesn't.  Are you using GCC by chance?

In any case, you'll need to fix all the occurrences of having a defaulted
destructor in a class with a std::unique_ptr of an incomplete type.

On Thu, Oct 22, 2015 at 10:48 AM Eugene Zelenko <eugene.zelenko at gmail.com>
wrote:

> On Thu, Oct 22, 2015 at 10:09 AM, Zachary Turner <zturner at google.com>
> wrote:
> > It looks like you're generating these diffs from an SVN repo, so I'm
> seeing
> > lldb/trunk in the paths.  Because of that, I can't apply it on my git
> repo
> > which doesn't have the "trunk" folder.  Can you generate the diffs for
> the 2
> > aforementioned CLs by cding into the trunk directory and generating the
> diff
> > there?
>
> See attached files. I did them in same way as diffs for Differential.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20151022/534356a2/attachment-0001.html>


More information about the lldb-dev mailing list