http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49570
Summary: /usr/include/c++/4.6.0/bits/stl_algobase.h(378): error: type name is not allowed Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ansa...@babcock.com I upgraded v. 4.6.0 from sources on a RHEL 5.5 system. Previously I had v. 4.1.2. I get the following error when using the icc compiler which I did not have before: icc -g -O0 -DERR_DEBUG -Wall -wd177,1572 -I. -I/opt/hpmpi/include -DDOMAIN_DECOMP_SUPPORTED -DNO_TIMEDATA -DMP_MPI -c ../../src/adapt/tregstr.cpp /usr/include/c++/4.6.0/bits/stl_algobase.h(378): error: type name is not allowed const bool __simple = (__is_trivial(_ValueTypeI) ^ detected during: instantiation of "_OI std::__copy_move_a2<_IsMove,_II,_OI>(_II, _II, _OI) [with _IsMove=false, _II=__gnu_cxx::__normal_iterator<Bv **, std::vector<Bv *, std::allocator<Bv *>>>, _OI=__gnu_cxx::__normal_iterator<Bv **, std::vector<Bv *, std::allocator<Bv *>>>]" at line 454 instantiation of "_OI std::copy(_II, _II, _OI) [with _II=__gnu_cxx::__normal_iterator<Bv **, std::vector<Bv *, std::allocator<Bv *>>>, _OI=__gnu_cxx::__normal_iterator<Bv **, std::vector<Bv *, std::allocator<Bv *>>>]" at line 139 of "/usr/include/c++/4.6.0/bits/vector.tcc" instantiation of "__gnu_cxx::__normal_iterator<std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc>> std::vector<_Tp, _Alloc>::erase(__gnu_cxx::__normal_iterator<std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc>>) [with _Tp=Bv *, _Alloc=std::allocator<Bv *>]" at line 462 of "./bvlist.h" /usr/include/c++/4.6.0/bits/stl_algobase.h(378): error: identifier "__is_trivial" is undefined const bool __simple = (__is_trivial(_ValueTypeI) ^ detected during: instantiation of "_OI std::__copy_move_a2<_IsMove,_II,_OI>(_II, _II, _OI) [with _IsMove=false, _II=__gnu_cxx::__normal_iterator<Bv **, std::vector<Bv *, std::allocator<Bv *>>>, _OI=__gnu_cxx::__normal_iterator<Bv **, std::vector<Bv *, std::allocator<Bv *>>>]" at line 454 instantiation of "_OI std::copy(_II, _II, _OI) [with _II=__gnu_cxx::__normal_iterator<Bv **, std::vector<Bv *, std::allocator<Bv *>>>, _OI=__gnu_cxx::__normal_iterator<Bv **, std::vector<Bv *, std::allocator<Bv *>>>]" at line 139 of "/usr/include/c++/4.6.0/bits/vector.tcc" instantiation of "__gnu_cxx::__normal_iterator<std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc>> std::vector<_Tp, _Alloc>::erase(__gnu_cxx::__normal_iterator<std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc>>) [with _Tp=Bv *, _Alloc=std::allocator<Bv *>]" at line 462 of "./bvlist.h" compilation aborted for ../../src/adapt/tregstr.cpp (code 2) line 462 of "bvlist.h" is erasing telements from a vector continer "list" : this->list.erase(this->list.begin()+i);