Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r78485 - trunk/boost
From: antoshkka_at_[hidden]
Date: 2012-05-15 14:51:35


Author: apolukhin
Date: 2012-05-15 14:51:35 EDT (Tue, 15 May 2012)
New Revision: 78485
URL: http://svn.boost.org/trac/boost/changeset/78485

Log:
Force PGI and SunCC compillers to use fallback version of lexical_cast
Text files modified:
   trunk/boost/lexical_cast.hpp | 20 +++++---------------
   1 files changed, 5 insertions(+), 15 deletions(-)

Modified: trunk/boost/lexical_cast.hpp
==============================================================================
--- trunk/boost/lexical_cast.hpp (original)
+++ trunk/boost/lexical_cast.hpp 2012-05-15 14:51:35 EDT (Tue, 15 May 2012)
@@ -134,7 +134,7 @@
     }
 } // namespace boost
 
-#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(__SUNPRO_CC) && !defined(__PGIC__)
 
 #include <cmath>
 #include <istream>
@@ -147,9 +147,7 @@
 #include <boost/math/special_functions/sign.hpp>
 #include <boost/math/special_functions/fpclassify.hpp>
 #include <boost/range/iterator_range_core.hpp>
-#if !defined(__SUNPRO_CC)
 #include <boost/container/container_fwd.hpp>
-#endif // !defined(__SUNPRO_CC)
 #ifndef BOOST_NO_CWCHAR
 # include <cwchar>
 #endif
@@ -256,13 +254,11 @@
             typedef CharT type;
         };
 
-#if !defined(__SUNPRO_CC)
         template<class CharT, class Traits, class Alloc>
         struct stream_char< ::boost::container::basic_string<CharT, Traits, Alloc> >
         {
             typedef CharT type;
         };
-#endif // !defined(__SUNPRO_CC)
 
 #if !defined(BOOST_LCAST_NO_WCHAR_T) && defined(BOOST_NO_INTRINSIC_WCHAR_T)
         template<>
@@ -312,7 +308,6 @@
             typedef Traits type;
         };
 
-#if !defined(__SUNPRO_CC)
         template<class CharT, class Traits, class Alloc, class Source>
         struct deduce_char_traits< CharT
                                  , ::boost::container::basic_string<CharT,Traits,Alloc>
@@ -366,7 +361,6 @@
         {
             typedef Traits type;
         };
-#endif // !defined(__SUNPRO_CC)
     }
 
     namespace detail // lcast_src_length
@@ -1389,7 +1383,6 @@
                 return true;
             }
 
-#if !defined(__SUNPRO_CC)
             template<class Alloc>
             bool operator<<(::boost::container::basic_string<CharT,Traits,Alloc> const& str)
             {
@@ -1397,7 +1390,7 @@
                 finish = start + str.length();
                 return true;
             }
-#endif // !defined(__SUNPRO_CC)
+
             bool operator<<(bool value)
             {
                 CharT const czero = lcast_char_constants<CharT>::zero;
@@ -1677,10 +1670,9 @@
 #endif
             template<class Alloc>
             bool operator>>(std::basic_string<CharT,Traits,Alloc>& str) { str.assign(start, finish); return true; }
-#if !defined(__SUNPRO_CC)
+
             template<class Alloc>
             bool operator>>(::boost::container::basic_string<CharT,Traits,Alloc>& str) { str.assign(start, finish); return true; }
-#endif // !defined(__SUNPRO_CC)
 
             /*
              * case "-0" || "0" || "+0" : output = false; return true;
@@ -1812,13 +1804,12 @@
         {
             BOOST_STATIC_CONSTANT(bool, value = true );
         };
-#if !defined(__SUNPRO_CC)
+
         template<typename CharT, typename Traits, typename Alloc>
         struct is_stdstring< ::boost::container::basic_string<CharT, Traits, Alloc> >
         {
             BOOST_STATIC_CONSTANT(bool, value = true );
         };
-#endif // !defined(__SUNPRO_CC)
 
         template<typename Target, typename Source>
         struct is_arithmetic_and_not_xchars
@@ -1904,7 +1895,7 @@
         {
             BOOST_STATIC_CONSTANT(bool, value = true );
         };
-#if !defined(__SUNPRO_CC)
+
         template<typename CharT, typename Traits, typename Alloc>
         struct is_char_array_to_stdstring< ::boost::container::basic_string<CharT, Traits, Alloc>, CharT* >
         {
@@ -1916,7 +1907,6 @@
         {
             BOOST_STATIC_CONSTANT(bool, value = true );
         };
-#endif // !defined(__SUNPRO_CC)
 
 #if (defined _MSC_VER)
 # pragma warning( push )


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk