[LLVMdev] MINGW Compiler error.
Mark Kromis
greybird at mac.com
Wed Oct 15 01:38:19 PDT 2008
On Oct 14, 2008, at 11:21 PM, Kenneth Boyd wrote:
> 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:
I must have been typed that, I misspelled assertions. --disable-
assertions does get around that error, but I get a different one. I
was hoping that fixing one error would fix the other. Since there were
no other comments on the mail list about that particular issue, I was
hoping it was something easy to fix on the compiler, since it compiles
fine on Leopard.
When assertions are disabled I get this error:
llvm[1]: Compiling IntrinsicInst.cpp for Release-Asserts build
In file included from IntrinsicInst.cpp:32:
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h: In
instantiation of
'__gnu_cxx::_SGIAssignableConcept<llvm::MachineMove>':
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_vector.h:
179: insta
ntiated from 'std::vector<llvm::MachineMove,
std::allocator<llvm::MachineMove> >
'
c:/Users/Greybird/Desktop/llvm/llvm-2.4/include/llvm/CodeGen/
MachineModuleInfo.h
:1007: instantiated from here
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h:216
: error: '__gnu_cxx::_SGIAssignableConcept<_Tp>::__a' has incomplete
type
c:/Users/Greybird/Desktop/llvm/llvm-2.4/include/llvm/CodeGen/
MachineModuleInfo.h
:53: error: forward declaration of 'struct llvm::MachineMove'
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h: In
member function 'void
__gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints() [w
ith _Tp = llvm::MachineMove]':
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_vector.h:
179: insta
ntiated from 'std::vector<llvm::MachineMove,
std::allocator<llvm::MachineMove> >
'
c:/Users/Greybird/Desktop/llvm/llvm-2.4/include/llvm/CodeGen/
MachineModuleInfo.h
:1007: instantiated from here
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h:208
: error: using invalid field
'__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h:208
: error: '__b' has incomplete type
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h:209
: error: using invalid field
'__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h:209
: error: using invalid field
'__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_vector.h:
179: insta
ntiated from 'std::vector<llvm::MachineMove,
std::allocator<llvm::MachineMove> >
'
c:/Users/Greybird/Desktop/llvm/llvm-2.4/include/llvm/CodeGen/
MachineModuleInfo.h
:1007: instantiated from here
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h:210
: error: using invalid field
'__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h: In
member function 'void
__gnu_cxx::_SGIAssignableConcept<_Tp>::__const_constraint
s(const _Tp&) [with _Tp = llvm::MachineMove]':
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h:210
: instantiated from 'void
__gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints
() [with _Tp = llvm::MachineMove]'
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_vector.h:
179: insta
ntiated from 'std::vector<llvm::MachineMove,
std::allocator<llvm::MachineMove> >
'
c:/Users/Greybird/Desktop/llvm/llvm-2.4/include/llvm/CodeGen/
MachineModuleInfo.h
:1007: instantiated from here
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h:213
: error: '__c' has incomplete type
c:\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/
boost_concept_check.h:214
: error: using invalid field
'__gnu_cxx::_SGIAssignableConcept<_Tp>::__a'
make[1]: *** [/c/Users/Greybird/Desktop/llvm/llvm-2.4/lib/VMCore/
Release-Asserts
/IntrinsicInst.o] Error 1
make[1]: Leaving directory `/c/Users/Greybird/Desktop/llvm/llvm-2.4/
lib/VMCore'
make: *** [all] Error 1
>
>>> 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).
I just tried with plain "./configure --enable-optimized" and was
getting the same. But if I did " ./configure --enable-optimized --
disable-assertions" I get the other error.
>
>>> 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.
So would that be a buggy STL, I'm assuming on the compiler? If so is
there a MingW package I need to update or recompile? I downloaded
4.3.0 from the sourceforge page for mingw.
>
>
> 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 Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Thanks again in advance.
Regards
Mark Kromis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081015/c01aee52/attachment.html>
More information about the llvm-dev
mailing list