Greetings, I have a compiler error that I have not been able to get through. I usually depend upon pre-built binaries but there was none available for the pre-release. I also try scanning the web site and mail list but was unable to find an answer. I was getting this or similar error with 2.3. I am just trying to build with the core library. I tried this in a xp and vista VM with the same results, I have Leopard, and was hoping to use this for similar build environment. I use eclipse/ CDT for development on windows. Built with "C:/MinGW/bin/sh.exe"-2.04$ ./configure --prefix=/usr -- enable-optimized --disa ble-shared --disable-multilib --disable-asserts output: llvm[1]: Compiling BasicBlock.cpp for Release build c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ boost_concept_check.h: In member function 'bool __gnu_cxx::_EqualOpConcept<_First, _Second>::__constraint s_() [with _First = llvm::BasicBlock, _Second = llvm::BasicBlock*]': c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ boost_concept_check.h:296 : instantiated from 'void __gnu_cxx::_EqualOpConcept<_First, _Second>::__const raints() [with _First = llvm::BasicBlock, _Second = llvm::BasicBlock*]' c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ boost_concept_check.h:62: instantiated from 'void __gnu_cxx::__function_requires() [with _Concept = __g nu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>]' c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_algo.h: 3810: instan tiated from '_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = llvm::P redIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >, _Tp = llvm ::BasicBlock*]' BasicBlock.cpp:180: instantiated from here c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ boost_concept_check.h:296 : error: no match for 'operator==' in '((__gnu_cxx::_EqualOpConcept<llvm::BasicB lock, llvm::BasicBlock*>*)this)- >__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, ll vm::BasicBlock*>::__a == ((__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::Ba sicBlock*>*)this)->__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock *>::__b' c:/Users/Greybird/Desktop/llvm/llvm-2.4/include/llvm/ADT/APInt.h:1379: note: can didates are: bool llvm::operator==(uint64_t, const llvm::APInt&) make[1]: *** [/c/Users/Greybird/Desktop/llvm/llvm-2.4/lib/VMCore/ Release/BasicBl ock.o] Error 1 make[1]: Leaving directory `/c/Users/Greybird/Desktop/llvm/llvm-2.4/ lib/VMCore' make: *** [all] Error 1 Any help will be greatly appreciated. Regards Mark Kromis
Resend On Oct 14, 2008, at 5:40 AM, Mark Kromis wrote:> Greetings, > > I have a compiler error that I have not been able to get through. I > usually depend upon pre-built binaries but there was none available > for the pre-release. I also try scanning the web site and mail list > but was unable to find an answer. I was getting this or similar > error with 2.3. I am just trying to build with the core library. I > tried this in a xp and vista VM with the same results, I have > Leopard, and was hoping to use this for similar build environment. I > use eclipse/CDT for development on windows. > > Built with "C:/MinGW/bin/sh.exe"-2.04$ ./configure --prefix=/usr -- > enable-optimized --disa > ble-shared --disable-multilib --disable-asserts > > output: > llvm[1]: Compiling BasicBlock.cpp for Release build > c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ > boost_concept_check.h: In > member function 'bool __gnu_cxx::_EqualOpConcept<_First, > _Second>::__constraint > s_() [with _First = llvm::BasicBlock, _Second = llvm::BasicBlock*]': > c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ > boost_concept_check.h:296 > : instantiated from 'void __gnu_cxx::_EqualOpConcept<_First, > _Second>::__const > raints() [with _First = llvm::BasicBlock, _Second = > llvm::BasicBlock*]' > c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ > boost_concept_check.h:62: > instantiated from 'void __gnu_cxx::__function_requires() [with > _Concept = __g > nu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>]' > c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_algo.h: > 3810: instan > tiated from '_IIter std::find(_IIter, _IIter, const _Tp&) [with > _IIter = llvm::P > redIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> > >, _Tp = llvm > ::BasicBlock*]' > BasicBlock.cpp:180: instantiated from here > c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ > boost_concept_check.h:296 > : error: no match for 'operator==' in > '((__gnu_cxx::_EqualOpConcept<llvm::BasicB > lock, llvm::BasicBlock*>*)this)- > >__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, ll > vm::BasicBlock*>::__a == > ((__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::Ba > sicBlock*>*)this)->__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, > llvm::BasicBlock > *>::__b' > c:/Users/Greybird/Desktop/llvm/llvm-2.4/include/llvm/ADT/APInt.h: > 1379: note: can > didates are: bool llvm::operator==(uint64_t, const llvm::APInt&) > make[1]: *** [/c/Users/Greybird/Desktop/llvm/llvm-2.4/lib/VMCore/ > Release/BasicBl > ock.o] Error 1 > make[1]: Leaving directory `/c/Users/Greybird/Desktop/llvm/llvm-2.4/ > lib/VMCore' > make: *** [all] Error 1 > > Any help will be greatly appreciated. > > Regards > Mark Kromis
Mark Kromis wrote:> Resend > > > On Oct 14, 2008, at 5:40 AM, Mark Kromis wrote: > > >> Greetings, >> >> I have a compiler error that I have not been able to get through. I >> usually depend upon pre-built binaries but there was none available >> for the pre-release. I also try scanning the web site and mail list >> but was unable to find an answer. I was getting this or similar >> error with 2.3. I am just trying to build with the core library. I >> tried this in a xp and vista VM with the same results, I have >> Leopard, and was hoping to use this for similar build environment. I >> use eclipse/CDT for development on windows. >> >> Built with "C:/MinGW/bin/sh.exe"-2.04$ ./configure --prefix=/usr -- >> enable-optimized --disa >> ble-shared --disable-multilib --disable-asserts >>Ok...I would have expected that to suppress the following error:>> output: >> llvm[1]: Compiling BasicBlock.cpp for Release build >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ >> boost_concept_check.h: In >> member function 'bool __gnu_cxx::_EqualOpConcept<_First, >> _Second>::__constraint >> s_() [with _First = llvm::BasicBlock, _Second = llvm::BasicBlock*]': >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ >> boost_concept_check.h:296 >> : instantiated from 'void __gnu_cxx::_EqualOpConcept<_First, >> _Second>::__const >> raints() [with _First = llvm::BasicBlock, _Second = >> llvm::BasicBlock*]' >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ >> boost_concept_check.h:62: >> instantiated from 'void __gnu_cxx::__function_requires() [with >> _Concept = __g >> nu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>]' >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_algo.h: >> 3810: instan >> tiated from '_IIter std::find(_IIter, _IIter, const _Tp&) [with >> _IIter = llvm::P >> redIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >> >>> , _Tp = llvm >>> >> ::BasicBlock*]' >> BasicBlock.cpp:180: instantiated from here >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ >> boost_concept_check.h:296 >> : error: no match for 'operator==' in >> '((__gnu_cxx::_EqualOpConcept<llvm::BasicB >> lock, llvm::BasicBlock*>*)this)- >> >>> __gnu_cxx::_EqualOpConcept<llvm::BasicBlock, ll >>> >> vm::BasicBlock*>::__a == >> ((__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::Ba >> sicBlock*>*)this)->__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, >> llvm::BasicBlock >> *>::__b' >> c:/Users/Greybird/Desktop/llvm/llvm-2.4/include/llvm/ADT/APInt.h: >>BasicBlock is failing the EqualityComparable concept check. This should be breaking --enable-asserts and --enable-expensive-checks, not --enable-optimized (concept checks should be disabled in release mode, which is controlled by NDEBUG).>> 1379: note: can >> didates are: bool llvm::operator==(uint64_t, const llvm::APInt&) >> make[1]: *** [/c/Users/Greybird/Desktop/llvm/llvm-2.4/lib/VMCore/ >> Release/BasicBl >> ock.o] Error 1 >> make[1]: Leaving directory `/c/Users/Greybird/Desktop/llvm/llvm-2.4/ >> lib/VMCore' >> make: *** [all] Error 1 >>GCC 4.3.0 is not finding the equality operator suitable for comparing these; the implied STL invocation would be buggy. I don't think I'll be able to take a close look at this tonight (I have MingW32 3.4.5 and MingW32 4.2.1 ready, not MingW32 4.3.0). Kenneth
LLVM is not currently concept-check clean. Your MinGW is apparently configured with --enable-concept-checks, or something in your toolchain is causing -D_GLIBCXX_CONCEPT_CHECKS to be added to the build, and LLVM currently cannot be built this way. The errors you've posted so far are just the beginning; there are many more errors after them. Some widely-used idioms within LLVM violate standard concept requirements; fixing these will require some broad changes. Dan On Oct 14, 2008, at 3:25 PM, Mark Kromis wrote:> > Resend > > > On Oct 14, 2008, at 5:40 AM, Mark Kromis wrote: > >> Greetings, >> >> I have a compiler error that I have not been able to get through. I >> usually depend upon pre-built binaries but there was none available >> for the pre-release. I also try scanning the web site and mail list >> but was unable to find an answer. I was getting this or similar >> error with 2.3. I am just trying to build with the core library. I >> tried this in a xp and vista VM with the same results, I have >> Leopard, and was hoping to use this for similar build environment. I >> use eclipse/CDT for development on windows. >> >> Built with "C:/MinGW/bin/sh.exe"-2.04$ ./configure --prefix=/usr -- >> enable-optimized --disa >> ble-shared --disable-multilib --disable-asserts >> >> output: >> llvm[1]: Compiling BasicBlock.cpp for Release build >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ >> boost_concept_check.h: In >> member function 'bool __gnu_cxx::_EqualOpConcept<_First, >> _Second>::__constraint >> s_() [with _First = llvm::BasicBlock, _Second = llvm::BasicBlock*]': >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ >> boost_concept_check.h:296 >> : instantiated from 'void __gnu_cxx::_EqualOpConcept<_First, >> _Second>::__const >> raints() [with _First = llvm::BasicBlock, _Second >> llvm::BasicBlock*]' >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ >> boost_concept_check.h:62: >> instantiated from 'void __gnu_cxx::__function_requires() [with >> _Concept = __g >> nu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>]' >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_algo.h: >> 3810: instan >> tiated from '_IIter std::find(_IIter, _IIter, const _Tp&) [with >> _IIter = llvm::P >> redIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >>> , _Tp = llvm >> ::BasicBlock*]' >> BasicBlock.cpp:180: instantiated from here >> c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/ >> boost_concept_check.h:296 >> : error: no match for 'operator==' in >> '((__gnu_cxx::_EqualOpConcept<llvm::BasicB >> lock, llvm::BasicBlock*>*)this)- >>> __gnu_cxx::_EqualOpConcept<llvm::BasicBlock, ll >> vm::BasicBlock*>::__a =>> ((__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::Ba >> sicBlock*>*)this)->__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, >> llvm::BasicBlock >> *>::__b' >> c:/Users/Greybird/Desktop/llvm/llvm-2.4/include/llvm/ADT/APInt.h: >> 1379: note: can >> didates are: bool llvm::operator==(uint64_t, const llvm::APInt&) >> make[1]: *** [/c/Users/Greybird/Desktop/llvm/llvm-2.4/lib/VMCore/ >> Release/BasicBl >> ock.o] Error 1 >> make[1]: Leaving directory `/c/Users/Greybird/Desktop/llvm/llvm-2.4/ >> lib/VMCore' >> make: *** [all] Error 1 >> >> Any help will be greatly appreciated. >> >> Regards >> Mark Kromis > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev