<div dir="ltr"><div>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.</div><div><br></div><div>Trying to test the modules enabled LLVM build (LLVM_ENABLE_MODULES=ON) I came across an error:<br><br><div><font face="monospace">In module 'LLVM_Utils' imported from lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp:11:</font></div><div><font face="monospace">/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</font></div><div><font face="monospace"> of '__shared_ptr<llvm::msf::MappedBlockStream>'</font></div><div><font face="monospace">        : __shared_ptr<_Tp>(std::move(__r)) { }  </font></div><div><font face="monospace">          ^                 ~~~~~~~~~~~~~~<br><br>...<br><br></font><div><font face="monospace">/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</font></div><div><font face="monospace">        __shared_ptr(unique_ptr<_Yp, _Del>&& __r)</font></div><div><font face="monospace">        ^<br><br>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?<br><br>Including IPDBEnumChildren.h does fix the error - but it seems like a wholely unrelated header to have to include here... <br><br>- Dave</font></div></div></div></div>