[cfe-dev] Odd error in the modules-enabled LLVM build

David Blaikie via cfe-dev cfe-dev at lists.llvm.org
Wed Mar 21 09:50:01 PDT 2018


Hey Richard (or anyone else who wants to weigh in on this), I'm seeing
something I can't quite explain - figured I'd check if I was missing
something obvious, or whether this is worth/requires more investigation.

Trying to test the modules enabled LLVM build (LLVM_ENABLE_MODULES=ON) I
came across an error:

In module 'LLVM_Utils' imported from
lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp:11:
/usr/lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/shared_ptr.h:278:4:
error: no matching constructor for initialization
 of '__shared_ptr<llvm::msf::MappedBlockStream>'
        : __shared_ptr<_Tp>(std::move(__r)) { }
          ^                 ~~~~~~~~~~~~~~

...

/usr/lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/shared_ptr_base.h:1157:2:
note: candidate template ignored: substitution failure [with _Yp =
llvm::msf::MappedBlockStream, _Del =
std::default_delete<llvm::msf::MappedBlockStream>]: default argument of
'_UniqCompatible' must be imported from module
'LLVM_DebugInfo_PDB.IPDBEnumChildren' before it is required
        __shared_ptr(unique_ptr<_Yp, _Del>&& __r)
        ^

I guess I should be using libcxx if I want to use modules, rather than
using my system libstdc++? But even then, this seems like a rather strange
error that may be indicative of a bug?

Including IPDBEnumChildren.h does fix the error - but it seems like a
wholely unrelated header to have to include here...

- Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180321/70a55d87/attachment.html>


More information about the cfe-dev mailing list