From: Borut R. <bor...@si...> - 2011-01-15 19:10:33
|
I've found the following: http://www.programare.org/viewtopic.php?t=6348. Unfortunately it is in Romanian language, but Google translate gives the following translation: "itm must be const_iterator, iterator not for the reference to a map that's passing print_map () is const. begin () const iterator gives a guy in case, and you can not assign it a non-const, which would allow you to change the map stuff." If I understand it correctly, iterator should be replaced by const_iterator. Does it make sense? Is it applicable for our case? Borut On 01/15/2011 07:11 PM, Maarten Brock wrote: > Hi, > > So, I've installed Visual C++ 2010 Express and also > Boost 1.44. Then I tried to compile SDCC #6109 again. It > still fails, but different. Aside from some more > warnings about conversions I get: > > 3>c:\program > files\boost\boost_1_44\boost\tuple\detail\tuple_basic.hpp(646): > error C2679: binary '=' : no operator found which takes a right-hand > operand of type 'const std::_Tree_const_iterator<_Mytree>' (or there > is no acceptable conversion) > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>> > 3> ] > 3> c:\program files\microsoft visual studio > 10.0\vc\include\xtree(337): could be > 'std::_Tree_const_iterator<_Mytree> > &std::_Tree_const_iterator<_Mytree>::operator =(const > std::_Tree_const_iterator<_Mytree> &)' > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,false>> > 3> ] > 3> while trying to match the argument list > '(std::_Tree_const_iterator<_Mytree>, const > std::_Tree_const_iterator<_Mytree>)' > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,false>> > 3> ] > 3> and > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>> > 3> ] > 3> c:\document\c-sources\sdcc-2010\src\z80\ralloc2.cc(397) > : see reference to function template instantiation > 'boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9> > &boost::tuples::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::operator > =<std::_Tree_const_iterator<_Mytree>,std::_Tree_const_iterator<_Mytr > ee>>(const std::pair<_Ty1,_Ty2> &)' being compiled > 3> with > 3> [ > 3> > T0=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int,un > signed short,std::less<int>,std::allocator<std::pair<const > int,unsigned short>>,false>>> &, > 3> > T1=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int,un > signed short,std::less<int>,std::allocator<std::pair<const > int,unsigned short>>,false>>> &, > 3> T2=boost::tuples::null_type, > 3> T3=boost::tuples::null_type, > 3> T4=boost::tuples::null_type, > 3> T5=boost::tuples::null_type, > 3> T6=boost::tuples::null_type, > 3> T7=boost::tuples::null_type, > 3> T8=boost::tuples::null_type, > 3> T9=boost::tuples::null_type, > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>>, > 3> > _Ty1=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int, > unsigned short,std::less<int>,std::allocator<std::pair<const > int,unsigned short>>,true>>>, > 3> > _Ty2=std::_Tree_const_iterator<std::_Tree_val<std::_Tmap_traits<int, > unsigned short,std::less<int>,std::allocator<std::pair<const > int,unsigned short>>,true>>> > 3> ] > 3> c:\document\c-sources\sdcc-2010\src\z80\ralloc2.cc(475) > : see reference to function template instantiation 'float > assign_cost<G_t,I_t>(const assignment&,unsigned short,const G_t > &,const I_t&)' being compiled > 3> with > 3> [ > 3> G_t=cfg_t, > 3> I_t=con2_t > 3> ] > 3>c:\program > files\boost\boost_1_44\boost\tuple\detail\tuple_basic.hpp(647): > error C2679: binary '=' : no operator found which takes a right-hand > operand of type 'const std::_Tree_const_iterator<_Mytree>' (or there > is no acceptable conversion) > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>> > 3> ] > 3> c:\program files\microsoft visual studio > 10.0\vc\include\xtree(337): could be > 'std::_Tree_const_iterator<_Mytree> > &std::_Tree_const_iterator<_Mytree>::operator =(const > std::_Tree_const_iterator<_Mytree> &)' > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,false>> > 3> ] > 3> while trying to match the argument list > '(std::_Tree_const_iterator<_Mytree>, const > std::_Tree_const_iterator<_Mytree>)' > 3> with > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,false>> > 3> ] > 3> and > 3> [ > 3> > _Mytree=std::_Tree_val<std::_Tmap_traits<int,unsigned > short,std::less<int>,std::allocator<std::pair<const int,unsigned > short>>,true>> > 3> ] > > These errors indicate to me that Boost itself may not be MSVC > compatible even though they claim it to be. Or am I totally wrong? > > I also had a problem with mcs51 because now the /Zm2000 setting > creates heap overflow instead of fixing it. Removing it was enough. > > I also attach the license that I had to accept during installation. > I see no limitation in it for our use, but I may have overlokked > something. > > Hope this helps, > Maarten > >>>> Unfortunately my C++ is not good enough to solve the _Traits tree errors. >>> You mean MSVC 6.0? >> I haven't tried MSVC 6.0. I'm currently using Visual C++ >> 2008 Express. >> >> I just tried to download 2010 Express but Internet >> Explorer failed to do it. Chrome can get it though. I'll >> try and see what 2010 thinks of ralloc2.cc. >> >> Maarten >> >> >> ------------------------------------------------------------------------------ >> Protect Your Site and Customers from Malware Attacks >> Learn about various malware tactics and how to avoid them. Understand >> malware threats, the impact they can have on your business, and how you >> can protect your company and customers by using code signing. >> http://p.sf.net/sfu/oracle-sfdevnl >> _______________________________________________ >> sdcc-devel mailing list >> sdc...@li... >> https://lists.sourceforge.net/lists/listinfo/sdcc-devel >> > > > The following section of this message contains a file attachment > prepared for transmission using the Internet MIME message format. > If you are using Pegasus Mail, or any other MIME-compliant system, > you should be able to save it or view it from within your mailer. > If you cannot, please ask your system administrator for assistance. > > ---- File information ----------- > File: Microsoft Visual C++ 2010 Express License.txt > Date: 15 Jan 2011, 13:43 > Size: 13939 bytes. > Type: Text > > > ------------------------------------------------------------------------------ > Protect Your Site and Customers from Malware Attacks > Learn about various malware tactics and how to avoid them. Understand > malware threats, the impact they can have on your business, and how you > can protect your company and customers by using code signing. > http://p.sf.net/sfu/oracle-sfdevnl > > > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel |