[LLVMdev] MS VS2008 build fails - X86AsmParser

David Shipman dshipman at gmail.com
Mon Sep 6 22:50:20 PDT 2010


Hi all,

Just tried to build from svn sources with Visual Studio 2008, mostly
OK but fails
building the X86AsmParser lib -

I see a few commits from yesterday that may have something to do with it, but no
idea what the solution is.

-David

See MSVC's beautiful and concise output below;

Compiling...
X86AsmParser.cpp
C:\dev\MSVisualStudio\VC\include\xutility(313) : error C2664: 'bool
`anonymous-namespace'::LessOpcode::operator ()(llvm::StringRef,const
`anonymous-namespace'::MatchEntry &)' : cannot convert parameter 1
from 'const `anonymous-namespace'::MatchEntry' to 'llvm::StringRef'
        No user-defined-conversion operator available that can perform
this conversion, or the operator cannot be called
        C:\dev\MSVisualStudio\VC\include\xutility(1699) : see
reference to function template instantiation 'bool
std::_Debug_lt_pred<_Pr,`anonymous-namespace'::MatchEntry,`anonymous-namespace'::MatchEntry>(_Pr,const
_Ty1 &,const _Ty2 &,const wchar_t *,unsigned int)' being compiled
        with
        [
            _Pr=`anonymous-namespace'::LessOpcode,
            _Ty1=`anonymous-namespace'::MatchEntry,
            _Ty2=`anonymous-namespace'::MatchEntry
        ]
        C:\dev\MSVisualStudio\VC\include\xutility(1709) : see
reference to function template instantiation 'void
std::_Debug_order_single2<_InIt,_Pr>(_FwdIt,_FwdIt,_Pr,bool,const
wchar_t *,unsigned int,std::forward_iterator_tag)' being compiled
        with
        [
            _InIt=const `anonymous-namespace'::MatchEntry *,
            _Pr=`anonymous-namespace'::LessOpcode,
            _FwdIt=const `anonymous-namespace'::MatchEntry *
        ]
        C:\dev\MSVisualStudio\VC\include\algorithm(2444) : see
reference to function template instantiation 'void
std::_Debug_order_single<_FwdIt,_Pr>(_InIt,_InIt,_Pr,bool,const
wchar_t *,unsigned int)' being compiled
        with
        [
            _FwdIt=const `anonymous-namespace'::MatchEntry *,
            _Pr=`anonymous-namespace'::LessOpcode,
            _InIt=const `anonymous-namespace'::MatchEntry *
        ]
        C:\dev\MSVisualStudio\VC\include\algorithm(2480) : see
reference to function template instantiation 'std::pair<_Ty1,_Ty2>
std::_Equal_range<_FwdIt,_Ty,std::iterator_traits<_Iter>::difference_type,_Pr>(_FwdIt,_FwdIt,const
_Ty &,_Pr,_Diff *)' being compiled
        with
        [
            _Ty1=const `anonymous-namespace'::MatchEntry *,
            _Ty2=const `anonymous-namespace'::MatchEntry *,
            _FwdIt=const `anonymous-namespace'::MatchEntry *,
            _Ty=llvm::StringRef,
            _Iter=const `anonymous-namespace'::MatchEntry *,
            _Pr=`anonymous-namespace'::LessOpcode,
            _Diff=std::iterator_traits::difference_type
        ]
        C:\dev\src\llvm\lib\Target\X86\X86GenAsmMatcher.inc(4583) :
see reference to function template instantiation 'std::pair<_Ty1,_Ty2>
std::equal_range(_FwdIt,_FwdIt,const _Ty &,_Pr)' being compiled
        with
        [
            _Ty1=const `anonymous-namespace'::MatchEntry *,
            _Ty2=const `anonymous-namespace'::MatchEntry *,
            _FwdIt=const `anonymous-namespace'::MatchEntry *,
            _Ty=llvm::StringRef,
            _Pr=`anonymous-namespace'::LessOpcode
        ]
C:\dev\MSVisualStudio\VC\include\xutility(315) : error C2664: 'bool
`anonymous-namespace'::LessOpcode::operator ()(llvm::StringRef,const
`anonymous-namespace'::MatchEntry &)' : cannot convert parameter 1
from 'const `anonymous-namespace'::MatchEntry' to 'llvm::StringRef'
        No user-defined-conversion operator available that can perform
this conversion, or the operator cannot be called



More information about the llvm-dev mailing list