[LLVMdev] MINGW Compiler error.
Kenneth Boyd
zaimoni at zaimoni.com
Tue Oct 14 20:21:58 PDT 2008
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
More information about the llvm-dev
mailing list