[llvm] r226940 - [Orc] New JIT APIs.

Reid Kleckner rnk at google.com
Fri Jan 23 14:09:34 PST 2015


Having trouble figuring out how to fix the MSVC build after this. Here,
have a wonderful compiler diagnostic:

[22/231] Building CXX object
lib\ExecutionEngine\Orc\CMakeFiles\LLVMOrcJIT.dir\OrcMCJITReplacement.cpp.obj
FAILED: C:\PROGRA~2\MICROS~4.0\VC\bin\cl.exe   /nologo /TP /DWIN32
/D_WINDOWS /W3   /MD /O2 /Ob2 -Ilib\ExecutionEngine\Orc
-I..\lib\ExecutionEngine\Orc -Iinclude -I..\include    -UNDEBUG -wd4146
-wd4180 -wd4244 -wd4258 -wd4267 -wd4291 -wd4345 -wd4351 -wd4355 -wd4456
-wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4800 -w14062 -we4238
/EHs-c- /GR- /showIncludes -DGTEST_HAS_RTTI=0 -D_CRT_NONSTDC_NO_DEPRECATE
-D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE
-D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE
-D_SCL_SECURE_NO_WARNINGS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
-D__STDC_LIMIT_MACROS
/Folib\ExecutionEngine\Orc\CMakeFiles\LLVMOrcJIT.dir\OrcMCJITReplacement.cpp.obj
/Fdlib\ExecutionEngine\Orc\CMakeFiles\LLVMOrcJIT.dir/ /FS -c
..\lib\ExecutionEngine\Orc\OrcMCJITReplacement.cpp
..\include\llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h(77) : error C2899:
typename cannot be used outside a template declaration
d:\src\llvm\lib\executionengine\orc\OrcMCJITReplacement.h(127) : error
C2668:
'llvm::ObjectLinkingLayer<llvm::OrcMCJITReplacement::NotifyObjectLoadedT>::ObjectLinkingLayer'
: ambiguous call to overloaded function
        ..\include\llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h(138):
could be
'llvm::ObjectLinkingLayer<llvm::OrcMCJITReplacement::NotifyObjectLoadedT>::ObjectLinkingLayer(std::function<void
(llvm::ObjectLinkingLayerBase::ObjSetHandleT)>,std::function<std::unique_ptr<llvm::RTDyldMemoryManager,std::default_delete<_Ty>>
(void)>)'
        with
        [
            _Ty=llvm::RTDyldMemoryManager
        ]
        ..\include\llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h(130): or

'llvm::ObjectLinkingLayer<llvm::OrcMCJITReplacement::NotifyObjectLoadedT>::ObjectLinkingLayer(NotifyLoadedFtor,std::function<std::unique_ptr<llvm::RTDyldMemoryManager,std::default_delete<_Ty>>
(void)>)'
        with
        [
            NotifyLoadedFtor=llvm::OrcMCJITReplacement::NotifyObjectLoadedT
,            _Ty=llvm::RTDyldMemoryManager
        ]
        ..\include\llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h(123): or

'llvm::ObjectLinkingLayer<llvm::OrcMCJITReplacement::NotifyObjectLoadedT>::ObjectLinkingLayer(NotifyLoadedFtor,std::function<void
(llvm::ObjectLinkingLayerBase::ObjSetHandleT)>)'
        with
        [
            NotifyLoadedFtor=llvm::OrcMCJITReplacement::NotifyObjectLoadedT
        ]
        while trying to match the argument list
'(llvm::OrcMCJITReplacement::NotifyObjectLoadedT,
llvm::OrcMCJITReplacement::NotifyFinalizedT)'
d:\src\llvm\lib\executionengine\orc\OrcMCJITReplacement.h(260) : error
C2593: 'operator =' is ambiguous
        C:/PROGRA~2/MICROS~4.0/VC/include\set(180): could be
'std::set<const void *,std::less<_Kty>,std::allocator<_Kty>>
&std::set<_Kty,std::less<_Kty>,std::allocator<_Kty>>::operator
=(std::initializer_list<const void *>)'
        with
        [
            _Kty=const void *
        ]
        C:/PROGRA~2/MICROS~4.0/VC/include\set(139): or
'std::set<const void *,std::less<_Kty>,std::allocator<_Kty>>
&std::set<_Kty,std::less<_Kty>,std::allocator<_Kty>>::operator
=(std::set<_Kty,std::less<_Kty>,std::allocator<_Kty>> &&)'
        with
        [
            _Kty=const void *
        ]
        C:/PROGRA~2/MICROS~4.0/VC/include\set(123): or
'std::set<const void *,std::less<_Kty>,std::allocator<_Kty>>
&std::set<_Kty,std::less<_Kty>,std::allocator<_Kty>>::operator =(const
std::set<_Kty,std::less<_Kty>,std::allocator<_Kty>> &)'
        with
        [
            _Kty=const void *
        ]
        while trying to match the argument list
'(llvm::OrcMCJITReplacement::SectionAddrSet, initializer-list)'
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150123/5b29b3c7/attachment.html>


More information about the llvm-commits mailing list