Opened 9 years ago

Closed 9 years ago

#8823 closed Bugs (fixed)

Issue with smart_ptr on AIX 5.2

Reported by: Gert Grossmann <gert.grossmann@…> Owned by: Peter Dimov
Milestone: To Be Determined Component: smart_ptr
Version: Boost 1.54.0 Severity: Regression
Keywords: Cc: viboes

Description (last modified by viboes)

vacpp.compile.c++ bin.v2/libs/thread/build/vacpp/debug/address-model-64/link-static/runtime-link-static/threading-multi/pthread/thread.o

    xlC_r -c     -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_THREAD_POSIX -qcpluscmt -qNOOPTimize -qnoinline -q64 -g -qfullpath -qfuncsect -qeh -qrtti -I"."  -o "bin
.v2/libs/thread/build/vacpp/debug/address-model-64/link-static/runtime-link-static/threading-multi/pthread/thread.o" "libs/thread/src/pthread/thread.cpp"

"./boost/smart_ptr/shared_ptr.hpp", line 82.43: 1540-0403 (S) "template <class T, std::size_t N> struct boost::detail::sp_element<T [N]>" is already defined.
"./boost/smart_ptr/shared_ptr.hpp", line 75.28: 1540-0425 (I) "sp_element<T []>" is defined on line 75 of "./boost/smart_ptr/shared_ptr.hpp".
"./boost/smart_ptr/shared_ptr.hpp", line 131.43: 1540-0403 (S) "template <class T, std::size_t N> struct boost::detail::sp_dereference<T [N]>" is already defined.
"./boost/smart_ptr/shared_ptr.hpp", line 124.28: 1540-0425 (I) "sp_dereference<T []>" is defined on line 124 of "./boost/smart_ptr/shared_ptr.hpp".
"./boost/smart_ptr/shared_ptr.hpp", line 156.43: 1540-0403 (S) "template <class T, std::size_t N> struct boost::detail::sp_member_access<T [N]>" is already defined.
"./boost/smart_ptr/shared_ptr.hpp", line 149.28: 1540-0425 (I) "sp_member_access<T []>" is defined on line 149 of "./boost/smart_ptr/shared_ptr.hpp".
"./boost/smart_ptr/shared_ptr.hpp", line 181.43: 1540-0403 (S) "template <class T, std::size_t N> struct boost::detail::sp_array_access<T [N]>" is already defined.
"./boost/smart_ptr/shared_ptr.hpp", line 174.28: 1540-0425 (I) "sp_array_access<T []>" is defined on line 174 of "./boost/smart_ptr/shared_ptr.hpp".
..
..

Regards, Gert

Change History (6)

comment:1 by viboes, 9 years ago

Description: modified (diff)

comment:2 by viboes, 9 years ago

Cc: viboes added

comment:3 by Peter Dimov, 9 years ago

Which version of XL C++ is that? 9.0? What is the value of __IBMCPP__?

Last edited 9 years ago by Peter Dimov (previous) (diff)

comment:4 by Peter Dimov, 9 years ago

Actually 12.1 would be a better guess, I think. :-)

comment:5 by Peter Dimov, 9 years ago

Hubert Tong from IBM Canada reports that:

Using the following test case as a reference:

template< class T > struct sp_dereference;
template< class T > struct sp_dereference< T[] > { typedef void type; };
template< class T, unsigned long N > struct sp_dereference< T[N] > { typedef void type; };

int main() {
   (sp_dereference<int []>::type)0;
   (sp_dereference<int [42]>::type)0;
}

The issue described cannot be reproduced with the following versions of XL C/C++ for AIX:

9.0.0.8
10.1.0.2
11.1.0.0
12.1.0.0

Note that for v9.0 and v10.1, the issue is reproducible on older levels of the release.

Seems that we don't need to do anything for this ticket.

comment:6 by Peter Dimov, 9 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.