[LLVMdev] Unable to build latest with Visual Studio 2008

John Wiegley johnw at boostpro.com
Wed Mar 9 11:27:21 PST 2011


Hello,

I've been building Clang under Windows 7 and Visual Studio 2008 for a while
now, but had not touched it in a few months.  Last night I wiped my build tree
to do a full rebuild with the latest version, and got the identical error as
David Shipman was seeing last September.  Are others able to build under VS9
right now?

Thanks,
  John

> Subject: Re: [LLVMdev] MS VS2008 build fails - X86AsmParser	
> From: Chris Lattner ("cla... at apple.com)
> Date: Sep 6, 2010 11:11:46 pm
> 
> On Sep 6, 2010, at 10:50 PM, David Shipman wrote:
> 
> > 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.
> 
> Wow, that's a pretty terrible diagnostic.  Does r113198 help?
> 
> -Chris
> 
> > 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