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);

Reply via email to