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
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 > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
I got the latest and i can build. Delete X86GenAsmMatcher.inc and build again. The .inc files auto regeneration is broken using VS. On Tue, Sep 7, 2010 at 1:50 AM, David Shipman <dshipman at gmail.com> 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. > > -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 > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Updated svn and all ok now - thanks Chris! -David On Tue, Sep 7, 2010 at 6:12 PM, Chris Lattner <clattner at apple.com> wrote:> > 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 >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >