[LLVMdev] Problems building LLVM under Visual Studio

Mason Wheeler masonwheeler at yahoo.com
Sun Jun 24 10:11:18 PDT 2012


Hi all,

I'm trying to build LLVM, synced from SVN trunk yesterday.

I ran CMake and it generated VS 2008 project files, so far so good.  Then I tried to build them, by building the ALL_BUILD project.

It got the first three all right, but choked on template issues in LLVMCore:

1>------ Build started: Project: LLVMCore, Configuration: Debug Win32 ------
1>Compiling...
1>Verifier.cpp
1>Instructions.cpp
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(306) : error C2039: 'size' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>        ..\..\..\lib\VMCore\Verifier.cpp(833) : see reference to function template instantiation 'llvm::IntegersSubsetGeneric<IntTy>::IntegersSubsetGeneric<llvm::IntegersSubset>(const RangesCollectionTy &)' being compiled
1>        with
1>        [
1>            IntTy=llvm::IntItem,
1>            RangesCollectionTy=llvm::IntegersSubset
1>        ]
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(310) : error C2039: 'size' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(311) : error C2039: 'size' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2039: 'const_iterator' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2065: 'const_iterator' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2146: syntax error : missing ';' before identifier 'i'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2039: 'begin' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2065: 'e' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2039: 'end' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2065: 'e' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2143: syntax error : missing ')' before '++'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2059: syntax error : ';'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2059: syntax error : ')'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2143: syntax error : missing ';' before '{'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(316) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(316) : error C2227: left of '->getLow' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(318) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(318) : error C2227: left of '->getLow' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(318) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(318) : error C2227: left of '->getHigh' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(319) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(319) : error C2227: left of '->getHigh' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(306) : error C2039: 'size' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>        f:\Program Files\Microsoft Visual Studio 9.0\VC\include\xmemory(164) : see reference to function template instantiation 'llvm::IntegersSubsetGeneric<IntTy>::IntegersSubsetGeneric<llvm::IntegersSubset>(const RangesCollectionTy &)' being compiled
1>        with
1>        [
1>            IntTy=llvm::IntItem,
1>            RangesCollectionTy=llvm::IntegersSubset
1>        ]
1>        f:\Program Files\Microsoft Visual Studio 9.0\VC\include\xmemory(154) : while compiling class template member function 'void std::allocator<_Ty>::construct(std::pair<_Ty1,_Ty2> *,const _Ty &)'
1>        with
1>        [
1>            _Ty=std::pair<llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,llvm::BasicBlock *>,
1>            _Ty1=llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,
1>            _Ty2=llvm::BasicBlock *
1>        ]
1>        f:\Program Files\Microsoft Visual Studio 9.0\VC\include\list(50) : see reference to class template instantiation 'std::allocator<_Ty>' being compiled
1>        with
1>        [
1>            _Ty=std::pair<llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,llvm::BasicBlock *>
1>        ]
1>        f:\Program Files\Microsoft Visual Studio 9.0\VC\include\list(59) : see reference to class template instantiation 'std::_List_nod<_Ty,_Alloc>' being compiled
1>        with
1>        [
1>            _Ty=std::pair<llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,llvm::BasicBlock *>,
1>            _Alloc=std::allocator<std::pair<llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,llvm::BasicBlock *>>
1>        ]
1>        f:\Program Files\Microsoft Visual Studio 9.0\VC\include\list(79) : see reference to class template instantiation 'std::_List_ptr<_Ty,_Alloc>' being compiled
1>        with
1>        [
1>            _Ty=std::pair<llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,llvm::BasicBlock *>,
1>            _Alloc=std::allocator<std::pair<llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,llvm::BasicBlock *>>
1>        ]
1>        f:\Program Files\Microsoft Visual Studio 9.0\VC\include\list(96) : see reference to class template instantiation 'std::_List_val<_Ty,_Alloc>' being compiled
1>        with
1>        [
1>            _Ty=std::pair<llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,llvm::BasicBlock *>,
1>            _Alloc=std::allocator<std::pair<llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,llvm::BasicBlock *>>
1>        ]
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubsetMapping.h(53) : see reference to class template instantiation 'std::list<_Ty>' being compiled
1>        with
1>        [
1>            _Ty=std::pair<llvm::IntegersSubsetMapping<llvm::BasicBlock>::RangeEx,llvm::BasicBlock *>
1>        ]
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Instructions.h(2804) : see reference to class template instantiation 'llvm::IntegersSubsetMapping<SuccessorClass>' being compiled
1>        with
1>        [
1>            SuccessorClass=llvm::BasicBlock
1>        ]
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(310) : error C2039: 'size' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(311) : error C2039: 'size' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2039: 'const_iterator' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2065: 'const_iterator' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2146: syntax error : missing ';' before identifier 'i'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(313) : error C2039: 'begin' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2065: 'e' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2039: 'end' : is not a member of 'llvm::IntegersSubset'
1>        F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(458) : see declaration of 'llvm::IntegersSubset'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2065: 'e' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2143: syntax error : missing ')' before '++'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2059: syntax error : ';'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2059: syntax error : ')'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(314) : error C2143: syntax error : missing ';' before '{'
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(316) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(316) : error C2227: left of '->getLow' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(318) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(318) : error C2227: left of '->getLow' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(318) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(318) : error C2227: left of '->getHigh' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(319) : error C2065: 'i' : undeclared identifier
1>F:\Documents and Settings\Mason\My Documents\VC\llvm\include\llvm/Support/IntegersSubset.h(319) : error C2227: left of '->getHigh' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>Build log was saved at "file://f:\Documents and Settings\Mason\My Documents\VC\llvm\VisualC\lib\VMCore\LLVMCore.dir\Debug\BuildLog.htm"
1>LLVMCore - 50 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 5 up-to-date, 0 skipped ==========


C++ really isn't my strong point, so I have no clue where to even start tracking this down.  I was sort of hoping that it would "just work," but it doesn't and now there are something like 25 projects that don't build.  This is the first one, and I hope that fixing it would fix some of the others too.

Anyone have any idea what's wrong?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120624/c92a70f9/attachment.html>


More information about the llvm-dev mailing list