[LLVMdev] Build errors on trunk for about a week now.

OvermindDL1 overminddl1 at gmail.com
Fri Dec 5 11:45:53 PST 2008


On Fri, Dec 5, 2008 at 6:38 AM, Cédric Venet <cedric.venet at laposte.net> wrote:
> should be fixed with r60590 (work for me)

That seems to have fixed a large amount of those errors (nicely simple
fix).  I went ahead and termserved into my dev box (I will not be able
to get to it for another day or so) and told svn to update, and cmake
to make into a new directory, and build it, but it is still getting
errors.  I will just post the error section and a couple surrounding
lines.

While building "LLVMSupport":
Annotation.cpp
f:\Program Files\Microsoft Visual Studio 8\VC\include\xtree(1174) :
error C3848: expression having type 'const
`anonymous-namespace'::StrCmp' would lose some const-volatile
qualifiers in order to call 'bool
`anonymous-namespace'::StrCmp::operator ()(const char *,const char *)'
        f:\Program Files\Microsoft Visual Studio
8\VC\include\xtree(1169) : while compiling class template member
function 'std::_Tree_nod<_Traits>::_Node
*std::_Tree<_Traits>::_Lbound(const char *const &) const'
        with
        [
            _Traits=std::_Tmap_traits<const char *,unsigned
int,`anonymous-namespace'::StrCmp,std::allocator<std::pair<const char
*const ,unsigned int>>,false>
        ]
        f:\Program Files\Microsoft Visual Studio 8\VC\include\map(82)
: see reference to class template instantiation 'std::_Tree<_Traits>'
being compiled
        with
        [
            _Traits=std::_Tmap_traits<const char *,unsigned
int,`anonymous-namespace'::StrCmp,std::allocator<std::pair<const char
*const ,unsigned int>>,false>
        ]
        ..\..\..\trunk\lib\Support\Annotation.cpp(67) : see reference
to class template instantiation 'std::map<_Kty,_Ty,_Pr>' being
compiled
        with
        [
            _Kty=const char *,
            _Ty=unsigned int,
            _Pr=`anonymous-namespace'::StrCmp
        ]
Allocator.cpp
APSInt.cpp

I cannot really look at it well since the termserv connection is
effectively less then modem speed, but I looked at Annotation.cpp from
the svn (also not fun, downloading at ~400bytes a second), but from a
quick look-see, I would bet that on line 34, changing:
    bool operator()(const char *a, const char *b) {
To:
    bool operator()(const char *a, const char *b) const {
Will fix that error.  Which makes sense, all functor adapters for the
STL things like map are supposed to be const qualified anyway.  Yes, I
have encountered that error before, yes that was the exact type of fix
that fixed it any time I have ever encountered it.

I do not know if there are any others errors yet.  I will try to look
again once the build finishes and I can transfer the build log to
local (thankfully not needing the screen updates now that I have the
build started).




More information about the llvm-dev mailing list