T
tkirankumar
Hi all,
uname -a
SunOS cbmrsd1a1 5.10 Generic_118833-17 sun4us sparc FJSV,GPUZC-M
g++ -v
Reading specs from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --disable-nls
Thread model: posix
gcc version 3.3.2
With 32 bit compilation, I compiled my application code successfully -
But I got the following errors when I tried 64-bit compilation by
giving options (-m64, -mcpu=v9) -
/usr/local/bin/g++ -m64 -mcpu=v9 -c -o PVA/PVA_ValueTable.o
PVA/PVA_ValueTable.cpp
/usr/local/include/c++/3.3.2/bits/stl_vector.h: In member function
`_Tp*
std::_Vector_alloc_base<_Tp, _Allocator, _IsStatic>::_M_allocate(long
unsigned int) [with _Tp = double, _Allocator = EFL_Allocator<double>,
bool
_IsStatic = false]':
/usr/local/include/c++/3.3.2/bits/vector.tcc:236: instantiated from
`void std::vector<_Tp, _Alloc>::_M_insert_aux(__gnu_cxx:
:__normal_iterator<_Tp*, std::vector<_Tp, _Alloc> >, const _Tp&) [with
_Tp = double, _Alloc = EFL_Allocator<double>]'
/usr/local/include/c++/3.3.2/bits/stl_vector.h:603: instantiated from
`void std::vector<_Tp, _Alloc>:
ush_back(const _Tp&)
[with _Tp = double, _Alloc = EFL_Allocator<double>]'
/export/home/edge/EDGE/edge/src/ETP/EVS/PVA/PVA_ValueTableColumnImpl.h:779:
instantiated from `void PVA_ValueTableColumnImpl
<T>::add(T) [with T = double]'
/export/home/edge/EDGE/edge/src/ETP/EVS/PVA/PVA_ValueTableColumnImpl.h:1231:
instantiated from here
/usr/local/include/c++/3.3.2/bits/stl_vector.h:97: error: invalid
conversion
from `void*' to `double*'
/usr/local/include/c++/3.3.2/bits/stl_vector.h: In member function
`_Tp*
std::_Vector_alloc_base<_Tp, _Allocator, _IsStatic>::_M_allocate(long
unsigned int) [with _Tp = float, _Allocator = EFL_Allocator<float>,
bool
_IsStatic = false]':
/usr/local/include/c++/3.3.2/bits/vector.tcc:236: instantiated from
`void std::vector<_Tp, _Alloc>::_M_insert_aux(__gnu_cxx:
:__normal_iterator<_Tp*, std::vector<_Tp, _Alloc> >, const _Tp&) [with
_Tp = float, _Alloc = EFL_Allocator<float>]'
/usr/local/include/c++/3.3.2/bits/stl_vector.h:603: instantiated from
`void std::vector<_Tp, _Alloc>:
ush_back(const _Tp&)
[with _Tp = float, _Alloc = EFL_Allocator<float>]'
/export/home/edge/EDGE/edge/src/ETP/EVS/PVA/PVA_ValueTableColumnImpl.h:779:
instantiated from `void PVA_ValueTableColumnImpl
<T>::add(T) [with T = float]'
/export/home/edge/EDGE/edge/src/ETP/EVS/PVA/PVA_ValueTableColumnImpl.h:1241:
instantiated from here
/usr/local/include/c++/3.3.2/bits/stl_vector.h:97: error: invalid
conversion
from `void*' to `float*'
But the same thing got compiled with 32 bit compilation. No clues, why
its failing to convert from void* to long*, double*, float*, short*
with
only 64 bit compilation...
Thanks in Advance...
uname -a
SunOS cbmrsd1a1 5.10 Generic_118833-17 sun4us sparc FJSV,GPUZC-M
g++ -v
Reading specs from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.10/3.3.2/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --disable-nls
Thread model: posix
gcc version 3.3.2
With 32 bit compilation, I compiled my application code successfully -
But I got the following errors when I tried 64-bit compilation by
giving options (-m64, -mcpu=v9) -
/usr/local/bin/g++ -m64 -mcpu=v9 -c -o PVA/PVA_ValueTable.o
PVA/PVA_ValueTable.cpp
/usr/local/include/c++/3.3.2/bits/stl_vector.h: In member function
`_Tp*
std::_Vector_alloc_base<_Tp, _Allocator, _IsStatic>::_M_allocate(long
unsigned int) [with _Tp = double, _Allocator = EFL_Allocator<double>,
bool
_IsStatic = false]':
/usr/local/include/c++/3.3.2/bits/vector.tcc:236: instantiated from
`void std::vector<_Tp, _Alloc>::_M_insert_aux(__gnu_cxx:
:__normal_iterator<_Tp*, std::vector<_Tp, _Alloc> >, const _Tp&) [with
_Tp = double, _Alloc = EFL_Allocator<double>]'
/usr/local/include/c++/3.3.2/bits/stl_vector.h:603: instantiated from
`void std::vector<_Tp, _Alloc>:
[with _Tp = double, _Alloc = EFL_Allocator<double>]'
/export/home/edge/EDGE/edge/src/ETP/EVS/PVA/PVA_ValueTableColumnImpl.h:779:
instantiated from `void PVA_ValueTableColumnImpl
<T>::add(T) [with T = double]'
/export/home/edge/EDGE/edge/src/ETP/EVS/PVA/PVA_ValueTableColumnImpl.h:1231:
instantiated from here
/usr/local/include/c++/3.3.2/bits/stl_vector.h:97: error: invalid
conversion
from `void*' to `double*'
/usr/local/include/c++/3.3.2/bits/stl_vector.h: In member function
`_Tp*
std::_Vector_alloc_base<_Tp, _Allocator, _IsStatic>::_M_allocate(long
unsigned int) [with _Tp = float, _Allocator = EFL_Allocator<float>,
bool
_IsStatic = false]':
/usr/local/include/c++/3.3.2/bits/vector.tcc:236: instantiated from
`void std::vector<_Tp, _Alloc>::_M_insert_aux(__gnu_cxx:
:__normal_iterator<_Tp*, std::vector<_Tp, _Alloc> >, const _Tp&) [with
_Tp = float, _Alloc = EFL_Allocator<float>]'
/usr/local/include/c++/3.3.2/bits/stl_vector.h:603: instantiated from
`void std::vector<_Tp, _Alloc>:
[with _Tp = float, _Alloc = EFL_Allocator<float>]'
/export/home/edge/EDGE/edge/src/ETP/EVS/PVA/PVA_ValueTableColumnImpl.h:779:
instantiated from `void PVA_ValueTableColumnImpl
<T>::add(T) [with T = float]'
/export/home/edge/EDGE/edge/src/ETP/EVS/PVA/PVA_ValueTableColumnImpl.h:1241:
instantiated from here
/usr/local/include/c++/3.3.2/bits/stl_vector.h:97: error: invalid
conversion
from `void*' to `float*'
But the same thing got compiled with 32 bit compilation. No clues, why
its failing to convert from void* to long*, double*, float*, short*
with
only 64 bit compilation...
Thanks in Advance...