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

Lang Hames lhames at gmail.com
Fri Jan 23 14:10:41 PST 2015


Hi Reid,

Thanks for the heads up. I'm going to remove a few of the constructor
versions that are introducing the ambiguity. The fix should be in in a
moment.

Cheers,
Lang.

On Fri, Jan 23, 2015 at 2:09 PM, Reid Kleckner <rnk at google.com> wrote:

> 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/ad3660cc/attachment.html>


More information about the llvm-commits mailing list