Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

gcc __is_trivial

Alan_S_2
Beginner
557 Views

gcc bugzilla refused to consider the following as a gcc bug (id=49570).

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_iteratorstd::vector>>, _OI=__gnu_cxx::__normal_iterator
**, std::vector>>]" at line 454
instantiation of "_OI std::copy(_II, _II, _OI) [with
_II=__gnu_cxx::__normal_iterator*>>>, _OI=__gnu_cxx::__normal_iteratorstd::allocator>>]" at line 139 of
"/usr/include/c++/4.6.0/bits/vector.tcc"
instantiation of
"__gnu_cxx::__normal_iterator<:_VECTOR_BASE><_Tp,
_Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc>> std::vector<_Tp,
_Alloc>::erase(__gnu_cxx::__normal_iterator<:_VECTOR_BASE><_Tp,
_Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc>>) [with _Tp=Bv *,
_Alloc=std::allocator]" 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_iteratorstd::vector>>, _OI=__gnu_cxx::__normal_iterator
**, std::vector>>]" at line 454
instantiation of "_OI std::copy(_II, _II, _OI) [with
_II=__gnu_cxx::__normal_iterator*>>>, _OI=__gnu_cxx::__normal_iteratorstd::allocator>>]" at line 139 of
"/usr/include/c++/4.6.0/bits/vector.tcc"
instantiation of
"__gnu_cxx::__normal_iterator<:_VECTOR_BASE><_Tp,
_Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc>> std::vector<_Tp,
_Alloc>::erase(__gnu_cxx::__normal_iterator<:_VECTOR_BASE><_Tp,
_Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc>>) [with _Tp=Bv *,
_Alloc=std::allocator]" 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);

0 Kudos
1 Reply
Alan_S_2
Beginner
557 Views

upgrading from 12.0.3 to 12.0.4 fixed this problem

0 Kudos
Reply