[Boost-bugs] [Boost C++ Libraries] #11005: register_archive.hpp needs modification for Oralce Solaris Studio compilers.

Subject: [Boost-bugs] [Boost C++ Libraries] #11005: register_archive.hpp needs modification for Oralce Solaris Studio compilers.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-02-09 18:09:02


#11005: register_archive.hpp needs modification for Oralce Solaris Studio
compilers.
-------------------------------------------+---------------------------
 Reporter: Aparna Kumta <aparna.kumta@…> | Owner: ramey
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: serialization
  Version: Boost Development Trunk | Severity: Problem
 Keywords: |
-------------------------------------------+---------------------------
 Compiling on Solaris 11.2 with Oracle Solaris Studio 12.4 compilers,
 several serialization tests fail as shown.

 "CC" -compat=5 -library=stlport4 -xO4 -erroff=%none -KPIC
 -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I".." -c
 -o "/export/home/boost_regression/boost_sparc-
 S2_stlport4/results/boost/bin.v2/libs/serialization/build/sun-
 stlport4/release/text_iarchive.o"
 "../libs/serialization/src/text_iarchive.cpp" \\

 "../boost/archive/detail/register_archive.hpp", line 45: Error: The
 function "adjust_counter" must have a prototype. \\
 "../boost/archive/text_iarchive.hpp", line 136: Where: While
 specializing
 "boost::archive::detail::get_counter<boost::archive::text_iarchive>"."../boost/archive/text_iarchive.hpp",
 line 136: Where: Specialized in non-template code.
 "../boost/archive/detail/register_archive.hpp", line 46: Error: Expression
 must have a constant value. \\
 "../boost/archive/text_iarchive.hpp", line 136: Where: While
 specializing
 "boost::archive::detail::get_counter<boost::archive::text_iarchive>"."../boost/archive/text_iarchive.hpp",
 line 136: Where: Specialized in non-template code.
 "../boost/archive/detail/register_archive.hpp", line 47: Error: Expression
 must have a constant value. \\
 "../boost/archive/text_iarchive.hpp", line 136: Where: While
 specializing
 "boost::archive::detail::get_counter<boost::archive::text_iarchive>"."../boost/archive/text_iarchive.hpp",
 line 136: Where: Specialized in non-template code.
 "../boost/archive/detail/register_archive.hpp", line 48: Error: An integer
 constant expression is required within the array subscript operator. \\
 "../boost/archive/text_iarchive.hpp", line 136: Where: While
 specializing
 "boost::archive::detail::get_counter<boost::archive::text_iarchive>"."../boost/archive/text_iarchive.hpp",
 line 136: Where: Specialized in non-template code.
 "../boost/archive/text_iarchive.hpp", line 136: Error: Multiple
 declaration for adjust_counter. \\
 "../boost/archive/text_iarchive.hpp", line 136: Error: Unexpected type
 name "get_counter<boost::archive::text_iarchive>::type" encountered. \\
 6 Error(s) detected. \\

 The following modification to boost/archive/detail/register_archive.hpp,
 resolves this issue. \\

 diff ./register_archive.hpp_orig ./register_archive.hpp \\
 31c31 \\
 < #ifdef __SUNPRO_CC \\
 --- \\
> #if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5130) \\

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11005>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC