Boost logo

Boost-Commit :

From: eric_at_[hidden]
Date: 2008-08-10 12:20:51


Author: eric_niebler
Date: 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
New Revision: 48062
URL: http://svn.boost.org/trac/boost/changeset/48062

Log:
merged from trunk
Added:
   branches/proto/v4/boost/config/no_tr1/cmath.hpp
      - copied unchanged from r48054, /trunk/boost/config/no_tr1/cmath.hpp
   branches/proto/v4/boost/tr1/cmath.hpp
      - copied unchanged from r48054, /trunk/boost/tr1/cmath.hpp
   branches/proto/v4/boost/tr1/tr1/bcc32/unordere.h
      - copied unchanged from r48054, /trunk/boost/tr1/tr1/bcc32/unordere.h
   branches/proto/v4/boost/tr1/tr1/cmath
      - copied unchanged from r48054, /trunk/boost/tr1/tr1/cmath
   branches/proto/v4/boost/tr1/tr1/sun/cmath.SUNWCCh
      - copied unchanged from r48054, /trunk/boost/tr1/tr1/sun/cmath.SUNWCCh
   branches/proto/v4/boost/tr1/tr1/sun/unordered_map.SUNWCCh
      - copied unchanged from r48054, /trunk/boost/tr1/tr1/sun/unordered_map.SUNWCCh
   branches/proto/v4/boost/tr1/tr1/sun/unordered_set.SUNWCCh
      - copied unchanged from r48054, /trunk/boost/tr1/tr1/sun/unordered_set.SUNWCCh
   branches/proto/v4/libs/test/docbook/
      - copied from r48054, /trunk/libs/test/docbook/
   branches/proto/v4/libs/test/docbook/img/
      - copied from r48054, /trunk/libs/test/docbook/img/
   branches/proto/v4/libs/test/docbook/img/boost.test.logo.png
      - copied unchanged from r48054, /trunk/libs/test/docbook/img/boost.test.logo.png
   branches/proto/v4/libs/test/docbook/img/class-hier.jpg
      - copied unchanged from r48054, /trunk/libs/test/docbook/img/class-hier.jpg
   branches/proto/v4/libs/test/docbook/img/level.png
      - copied unchanged from r48054, /trunk/libs/test/docbook/img/level.png
   branches/proto/v4/libs/test/docbook/img/post_build_event.jpg
      - copied unchanged from r48054, /trunk/libs/test/docbook/img/post_build_event.jpg
   branches/proto/v4/libs/test/docbook/img/post_build_out.jpg
      - copied unchanged from r48054, /trunk/libs/test/docbook/img/post_build_out.jpg
   branches/proto/v4/libs/test/docbook/img/run_args.jpg
      - copied unchanged from r48054, /trunk/libs/test/docbook/img/run_args.jpg
   branches/proto/v4/libs/tr1/test/std_headers/test_cmath.cpp
      - copied unchanged from r48054, /trunk/libs/tr1/test/std_headers/test_cmath.cpp
   branches/proto/v4/libs/tr1/test/test_cmath.cpp
      - copied unchanged from r48054, /trunk/libs/tr1/test/test_cmath.cpp
Properties modified:
   branches/proto/v4/ (props changed)
Text files modified:
   branches/proto/v4/boost/asio/detail/dev_poll_reactor.hpp | 15 +-
   branches/proto/v4/boost/asio/detail/epoll_reactor.hpp | 15 +-
   branches/proto/v4/boost/asio/detail/reactive_serial_port_service.hpp | 1
   branches/proto/v4/boost/asio/ip/resolver_query_base.hpp | 8
   branches/proto/v4/boost/asio/ssl/detail/openssl_context_service.hpp | 2
   branches/proto/v4/boost/math/bindings/rr.hpp | 2
   branches/proto/v4/boost/math/complex/details.hpp | 2
   branches/proto/v4/boost/math/concepts/real_concept.hpp | 2
   branches/proto/v4/boost/math/concepts/std_real_concept.hpp | 2
   branches/proto/v4/boost/math/distributions/cauchy.hpp | 2
   branches/proto/v4/boost/math/distributions/exponential.hpp | 2
   branches/proto/v4/boost/math/distributions/extreme_value.hpp | 2
   branches/proto/v4/boost/math/distributions/rayleigh.hpp | 2
   branches/proto/v4/boost/math/policies/error_handling.hpp | 2
   branches/proto/v4/boost/math/special_functions/acosh.hpp | 2
   branches/proto/v4/boost/math/special_functions/asinh.hpp | 2
   branches/proto/v4/boost/math/special_functions/atanh.hpp | 2
   branches/proto/v4/boost/math/special_functions/beta.hpp | 2
   branches/proto/v4/boost/math/special_functions/cos_pi.hpp | 2
   branches/proto/v4/boost/math/special_functions/detail/unchecked_factorial.hpp | 2
   branches/proto/v4/boost/math/special_functions/expm1.hpp | 2
   branches/proto/v4/boost/math/special_functions/factorials.hpp | 2
   branches/proto/v4/boost/math/special_functions/fpclassify.hpp | 2
   branches/proto/v4/boost/math/special_functions/gamma.hpp | 2
   branches/proto/v4/boost/math/special_functions/hypot.hpp | 2
   branches/proto/v4/boost/math/special_functions/log1p.hpp | 2
   branches/proto/v4/boost/math/special_functions/sin_pi.hpp | 2
   branches/proto/v4/boost/math/special_functions/sinc.hpp | 2
   branches/proto/v4/boost/math/special_functions/sinhc.hpp | 2
   branches/proto/v4/boost/math/tools/config.hpp | 2
   branches/proto/v4/boost/math/tools/fraction.hpp | 2
   branches/proto/v4/boost/math/tools/minima.hpp | 2
   branches/proto/v4/boost/math/tools/roots.hpp | 2
   branches/proto/v4/boost/math/tools/series.hpp | 2
   branches/proto/v4/boost/math/tools/stats.hpp | 2
   branches/proto/v4/libs/thread/doc/changes.qbk | 18 ++
   branches/proto/v4/libs/thread/doc/thread.qbk | 6
   branches/proto/v4/libs/thread/doc/thread_ref.qbk | 6
   branches/proto/v4/libs/tr1/doc/tr1.qbk | 269 ++++++++++++++++++++++++++++++++++++++-
   branches/proto/v4/status/explicit-failures-markup.xml | 1
   branches/proto/v4/tools/build/v2/tools/acc.jam | 2
   41 files changed, 343 insertions(+), 60 deletions(-)

Modified: branches/proto/v4/boost/asio/detail/dev_poll_reactor.hpp
==============================================================================
--- branches/proto/v4/boost/asio/detail/dev_poll_reactor.hpp (original)
+++ branches/proto/v4/boost/asio/detail/dev_poll_reactor.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -423,14 +423,15 @@
         else
           more_writes = write_op_queue_.has_operation(descriptor);
 
- if ((events[i].events == POLLHUP)
- && !more_except && !more_reads && !more_writes)
+ if ((events[i].events & (POLLERR | POLLHUP)) != 0
+ && (events[i].events & ~(POLLERR | POLLHUP)) == 0
+ && !more_except && !more_reads && !more_writes)
         {
- // If we have only an POLLHUP event and no operations associated
- // with the descriptor then we need to delete the descriptor from
- // /dev/poll. The poll operation might produce POLLHUP events even
- // if they are not specifically requested, so if we do not remove the
- // descriptor we can end up in a tight polling loop.
+ // If we have an event and no operations associated with the
+ // descriptor then we need to delete the descriptor from /dev/poll.
+ // The poll operation can produce POLLHUP or POLLERR events when there
+ // is no operation pending, so if we do not remove the descriptor we
+ // can end up in a tight polling loop.
           ::pollfd ev = { 0 };
           ev.fd = descriptor;
           ev.events = POLLREMOVE;

Modified: branches/proto/v4/boost/asio/detail/epoll_reactor.hpp
==============================================================================
--- branches/proto/v4/boost/asio/detail/epoll_reactor.hpp (original)
+++ branches/proto/v4/boost/asio/detail/epoll_reactor.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -497,14 +497,15 @@
         else
           more_writes = write_op_queue_.has_operation(descriptor);
 
- if ((events[i].events == EPOLLHUP)
- && !more_except && !more_reads && !more_writes)
+ if ((events[i].events & (EPOLLERR | EPOLLHUP)) != 0
+ && (events[i].events & ~(EPOLLERR | EPOLLHUP)) == 0
+ && !more_except && !more_reads && !more_writes)
         {
- // If we have only an EPOLLHUP event and no operations associated
- // with the descriptor then we need to delete the descriptor from
- // epoll. The epoll_wait system call will produce EPOLLHUP events
- // even if they are not specifically requested, so if we do not
- // remove the descriptor we can end up in a tight loop of repeated
+ // If we have an event and no operations associated with the
+ // descriptor then we need to delete the descriptor from epoll. The
+ // epoll_wait system call can produce EPOLLHUP or EPOLLERR events
+ // when there is no operation pending, so if we do not remove the
+ // descriptor we can end up in a tight loop of repeated
           // calls to epoll_wait.
           epoll_event ev = { 0, { 0 } };
           epoll_ctl(epoll_fd_, EPOLL_CTL_DEL, descriptor, &ev);

Modified: branches/proto/v4/boost/asio/detail/reactive_serial_port_service.hpp
==============================================================================
--- branches/proto/v4/boost/asio/detail/reactive_serial_port_service.hpp (original)
+++ branches/proto/v4/boost/asio/detail/reactive_serial_port_service.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -120,6 +120,7 @@
       ios.c_cflag |= CS8;
 #endif
       ios.c_iflag |= IGNPAR;
+ ios.c_cflag |= CREAD | CLOCAL;
       descriptor_ops::clear_error(ec);
       s = descriptor_ops::error_wrapper(::tcsetattr(fd, TCSANOW, &ios), ec);
     }

Modified: branches/proto/v4/boost/asio/ip/resolver_query_base.hpp
==============================================================================
--- branches/proto/v4/boost/asio/ip/resolver_query_base.hpp (original)
+++ branches/proto/v4/boost/asio/ip/resolver_query_base.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -70,17 +70,19 @@
 # else
   BOOST_STATIC_CONSTANT(int, numeric_service = 0);
 # endif
-# if defined(AI_V4MAPPED)
+ // Note: QNX Neutrino 6.3 defines AI_V4MAPPED, AI_ALL and AI_ADDRCONFIG but
+ // does not implement them. Therefore they are specifically excluded here.
+# if defined(AI_V4MAPPED) && !defined(__QNXNTO__)
   BOOST_STATIC_CONSTANT(int, v4_mapped = AI_V4MAPPED);
 # else
   BOOST_STATIC_CONSTANT(int, v4_mapped = 0);
 # endif
-# if defined(AI_ALL)
+# if defined(AI_ALL) && !defined(__QNXNTO__)
   BOOST_STATIC_CONSTANT(int, all_matching = AI_ALL);
 # else
   BOOST_STATIC_CONSTANT(int, all_matching = 0);
 # endif
-# if defined(AI_ADDRCONFIG)
+# if defined(AI_ADDRCONFIG) && !defined(__QNXNTO__)
   BOOST_STATIC_CONSTANT(int, address_configured = AI_ADDRCONFIG);
 # else
   BOOST_STATIC_CONSTANT(int, address_configured = 0);

Modified: branches/proto/v4/boost/asio/ssl/detail/openssl_context_service.hpp
==============================================================================
--- branches/proto/v4/boost/asio/ssl/detail/openssl_context_service.hpp (original)
+++ branches/proto/v4/boost/asio/ssl/detail/openssl_context_service.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -309,9 +309,9 @@
 
     ::BIO_free(bio);
     int result = ::SSL_CTX_set_tmp_dh(impl, dh);
+ ::DH_free(dh);
     if (result != 1)
     {
- ::DH_free(dh);
       ec = boost::asio::error::invalid_argument;
       return ec;
     }

Modified: branches/proto/v4/boost/math/bindings/rr.hpp
==============================================================================
--- branches/proto/v4/boost/math/bindings/rr.hpp (original)
+++ branches/proto/v4/boost/math/bindings/rr.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -14,7 +14,7 @@
 
 #include <ostream>
 #include <istream>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <NTL/RR.h>
 
 #ifndef BOOST_MATH_NTL_RR_HPP

Modified: branches/proto/v4/boost/math/complex/details.hpp
==============================================================================
--- branches/proto/v4/boost/math/complex/details.hpp (original)
+++ branches/proto/v4/boost/math/complex/details.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -15,7 +15,7 @@
 #include <boost/config/no_tr1/complex.hpp>
 #include <boost/limits.hpp>
 #include <math.h> // isnan where available
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 
 #ifdef BOOST_NO_STDC_NAMESPACE
 namespace std{ using ::sqrt; }

Modified: branches/proto/v4/boost/math/concepts/real_concept.hpp
==============================================================================
--- branches/proto/v4/boost/math/concepts/real_concept.hpp (original)
+++ branches/proto/v4/boost/math/concepts/real_concept.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -32,7 +32,7 @@
 #endif
 #include <ostream>
 #include <istream>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <math.h> // fmodl
 
 #ifndef BOOST_MATH_REAL_CONCEPT_HPP

Modified: branches/proto/v4/boost/math/concepts/std_real_concept.hpp
==============================================================================
--- branches/proto/v4/boost/math/concepts/std_real_concept.hpp (original)
+++ branches/proto/v4/boost/math/concepts/std_real_concept.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -24,7 +24,7 @@
 
 #include <ostream>
 #include <istream>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <math.h> // fmodl
 
 #ifndef BOOST_MATH_STD_REAL_CONCEPT_HPP

Modified: branches/proto/v4/boost/math/distributions/cauchy.hpp
==============================================================================
--- branches/proto/v4/boost/math/distributions/cauchy.hpp (original)
+++ branches/proto/v4/boost/math/distributions/cauchy.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -17,7 +17,7 @@
 #include <boost/math/constants/constants.hpp>
 #include <boost/math/distributions/complement.hpp>
 #include <boost/math/distributions/detail/common_error_handling.hpp>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 
 #include <utility>
 

Modified: branches/proto/v4/boost/math/distributions/exponential.hpp
==============================================================================
--- branches/proto/v4/boost/math/distributions/exponential.hpp (original)
+++ branches/proto/v4/boost/math/distributions/exponential.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -12,7 +12,7 @@
 #include <boost/math/special_functions/expm1.hpp>
 #include <boost/math/distributions/complement.hpp>
 #include <boost/math/distributions/detail/common_error_handling.hpp>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 
 #ifdef BOOST_MSVC
 # pragma warning(push)

Modified: branches/proto/v4/boost/math/distributions/extreme_value.hpp
==============================================================================
--- branches/proto/v4/boost/math/distributions/extreme_value.hpp (original)
+++ branches/proto/v4/boost/math/distributions/extreme_value.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -12,7 +12,7 @@
 #include <boost/math/special_functions/expm1.hpp>
 #include <boost/math/distributions/complement.hpp>
 #include <boost/math/distributions/detail/common_error_handling.hpp>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 
 //
 // This is the maximum extreme value distribution, see

Modified: branches/proto/v4/boost/math/distributions/rayleigh.hpp
==============================================================================
--- branches/proto/v4/boost/math/distributions/rayleigh.hpp (original)
+++ branches/proto/v4/boost/math/distributions/rayleigh.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -12,7 +12,7 @@
 #include <boost/math/special_functions/expm1.hpp>
 #include <boost/math/distributions/complement.hpp>
 #include <boost/math/distributions/detail/common_error_handling.hpp>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 
 #ifdef BOOST_MSVC
 # pragma warning(push)

Modified: branches/proto/v4/boost/math/policies/error_handling.hpp
==============================================================================
--- branches/proto/v4/boost/math/policies/error_handling.hpp (original)
+++ branches/proto/v4/boost/math/policies/error_handling.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -12,7 +12,7 @@
 #include <iomanip>
 #include <string>
 #include <cerrno>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <stdexcept>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/policies/policy.hpp>

Modified: branches/proto/v4/boost/math/special_functions/acosh.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/acosh.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/acosh.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -14,7 +14,7 @@
 #pragma once
 #endif
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/config.hpp>
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/policies/error_handling.hpp>

Modified: branches/proto/v4/boost/math/special_functions/asinh.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/asinh.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/asinh.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -15,7 +15,7 @@
 #endif
 
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/config.hpp>
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>

Modified: branches/proto/v4/boost/math/special_functions/atanh.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/atanh.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/atanh.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -15,7 +15,7 @@
 #endif
 
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/config.hpp>
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/policies/error_handling.hpp>

Modified: branches/proto/v4/boost/math/special_functions/beta.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/beta.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/beta.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -20,7 +20,7 @@
 #include <boost/math/special_functions/trunc.hpp>
 #include <boost/math/tools/roots.hpp>
 #include <boost/static_assert.hpp>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 
 namespace boost{ namespace math{
 

Modified: branches/proto/v4/boost/math/special_functions/cos_pi.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/cos_pi.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/cos_pi.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -10,7 +10,7 @@
 #pragma once
 #endif
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/special_functions/trunc.hpp>
 #include <boost/math/tools/promotion.hpp>

Modified: branches/proto/v4/boost/math/special_functions/detail/unchecked_factorial.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/detail/unchecked_factorial.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/detail/unchecked_factorial.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -19,7 +19,7 @@
 #ifdef BOOST_MSVC
 #pragma warning(pop)
 #endif
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
 
 namespace boost { namespace math

Modified: branches/proto/v4/boost/math/special_functions/expm1.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/expm1.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/expm1.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -10,7 +10,7 @@
 #pragma once
 #endif
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <math.h> // platform's ::expm1
 #include <boost/limits.hpp>
 #include <boost/math/tools/config.hpp>

Modified: branches/proto/v4/boost/math/special_functions/factorials.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/factorials.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/factorials.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -22,7 +22,7 @@
 #ifdef BOOST_MSVC
 #pragma warning(pop)
 #endif
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 
 namespace boost { namespace math
 {

Modified: branches/proto/v4/boost/math/special_functions/fpclassify.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/fpclassify.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/fpclassify.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -11,7 +11,7 @@
 #endif
 
 #include <math.h>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/limits.hpp>
 #include <boost/math/tools/real_cast.hpp>
 #include <boost/type_traits/is_floating_point.hpp>

Modified: branches/proto/v4/boost/math/special_functions/gamma.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/gamma.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/gamma.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -45,7 +45,7 @@
 #include <boost/mpl/greater.hpp>
 #include <boost/mpl/equal_to.hpp>
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <algorithm>
 
 #ifdef BOOST_MATH_INSTRUMENT

Modified: branches/proto/v4/boost/math/special_functions/hypot.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/hypot.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/hypot.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -14,7 +14,7 @@
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/policies/error_handling.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <algorithm> // for swap
 
 #ifdef BOOST_NO_STDC_NAMESPACE

Modified: branches/proto/v4/boost/math/special_functions/log1p.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/log1p.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/log1p.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -10,7 +10,7 @@
 #pragma once
 #endif
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <math.h> // platform's ::log1p
 #include <boost/limits.hpp>
 #include <boost/math/tools/config.hpp>

Modified: branches/proto/v4/boost/math/special_functions/sin_pi.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/sin_pi.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/sin_pi.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -10,7 +10,7 @@
 #pragma once
 #endif
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/math/tools/config.hpp>
 #include <boost/math/special_functions/trunc.hpp>
 #include <boost/math/tools/promotion.hpp>

Modified: branches/proto/v4/boost/math/special_functions/sinc.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/sinc.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/sinc.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -19,7 +19,7 @@
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/policies/policy.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/limits.hpp>
 #include <string>
 #include <stdexcept>

Modified: branches/proto/v4/boost/math/special_functions/sinhc.hpp
==============================================================================
--- branches/proto/v4/boost/math/special_functions/sinhc.hpp (original)
+++ branches/proto/v4/boost/math/special_functions/sinhc.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -18,7 +18,7 @@
 #include <boost/math/tools/config.hpp>
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/special_functions/math_fwd.hpp>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/limits.hpp>
 #include <string>
 #include <stdexcept>

Modified: branches/proto/v4/boost/math/tools/config.hpp
==============================================================================
--- branches/proto/v4/boost/math/tools/config.hpp (original)
+++ branches/proto/v4/boost/math/tools/config.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -14,7 +14,7 @@
 #include <boost/config.hpp>
 #include <boost/detail/workaround.hpp>
 #include <algorithm> // for min and max
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <climits>
 #if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
 # include <math.h>

Modified: branches/proto/v4/boost/math/tools/fraction.hpp
==============================================================================
--- branches/proto/v4/boost/math/tools/fraction.hpp (original)
+++ branches/proto/v4/boost/math/tools/fraction.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -10,7 +10,7 @@
 #pragma once
 #endif
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/type_traits/integral_constant.hpp>
 #include <boost/mpl/if.hpp>

Modified: branches/proto/v4/boost/math/tools/minima.hpp
==============================================================================
--- branches/proto/v4/boost/math/tools/minima.hpp (original)
+++ branches/proto/v4/boost/math/tools/minima.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -12,7 +12,7 @@
 #endif
 
 #include <utility>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/math/tools/precision.hpp>
 #include <boost/math/policies/policy.hpp>
 #include <boost/cstdint.hpp>

Modified: branches/proto/v4/boost/math/tools/roots.hpp
==============================================================================
--- branches/proto/v4/boost/math/tools/roots.hpp (original)
+++ branches/proto/v4/boost/math/tools/roots.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -11,7 +11,7 @@
 #endif
 
 #include <utility>
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <stdexcept>
 
 #include <boost/tr1/tuple.hpp>

Modified: branches/proto/v4/boost/math/tools/series.hpp
==============================================================================
--- branches/proto/v4/boost/math/tools/series.hpp (original)
+++ branches/proto/v4/boost/math/tools/series.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -10,7 +10,7 @@
 #pragma once
 #endif
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/math/tools/config.hpp>
 

Modified: branches/proto/v4/boost/math/tools/stats.hpp
==============================================================================
--- branches/proto/v4/boost/math/tools/stats.hpp (original)
+++ branches/proto/v4/boost/math/tools/stats.hpp 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -10,7 +10,7 @@
 #pragma once
 #endif
 
-#include <cmath>
+#include <boost/config/no_tr1/cmath.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/math/tools/precision.hpp>
 

Modified: branches/proto/v4/libs/thread/doc/changes.qbk
==============================================================================
--- branches/proto/v4/libs/thread/doc/changes.qbk (original)
+++ branches/proto/v4/libs/thread/doc/changes.qbk 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -5,7 +5,23 @@
   http://www.boost.org/LICENSE_1_0.txt).
 ]
 
-[section:changes Changes since boost 1.34]
+[section:changes Changes since boost 1.35]
+
+The 1.36.0 release of Boost includes a few new features in the thread library:
+
+* New generic __lock_multiple_ref__ and __try_lock_multiple_ref__ functions for locking multiple mutexes at once.
+
+* Rvalue reference support for move semantics where the compilers supports it.
+
+* A few bugs fixed and missing functions added (including the serious win32 condition variable bug).
+
+* `scoped_try_lock` types are now backwards-compatible with Boost 1.34.0 and previous releases.
+
+* Support for passing function arguments to the thread function by supplying additional arguments to the __thread__ constructor.
+
+* Backwards-compatibility overloads added for `timed_lock` and `timed_wait` functions to allow use of `xtime` for timeouts.
+
+[heading Changes since boost 1.34]
 
 Almost every line of code in __boost_thread__ has been changed since the 1.34 release of boost. However, most of the interface
 changes have been extensions, so the new code is largely backwards-compatible with the old code. The new features and breaking

Modified: branches/proto/v4/libs/thread/doc/thread.qbk
==============================================================================
--- branches/proto/v4/libs/thread/doc/thread.qbk (original)
+++ branches/proto/v4/libs/thread/doc/thread.qbk 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -38,6 +38,12 @@
 [template lock_ref_link[link_text] [link thread.synchronization.mutex_concepts.lockable.lock [link_text]]]
 [def __lock_ref__ [lock_ref_link `lock()`]]
 
+[template lock_multiple_ref_link[link_text] [link thread.synchronization.lock_functions.lock_multiple [link_text]]]
+[def __lock_multiple_ref__ [lock_multiple_ref_link `lock()`]]
+
+[template try_lock_multiple_ref_link[link_text] [link thread.synchronization.lock_functions.try_lock_multiple [link_text]]]
+[def __try_lock_multiple_ref__ [try_lock_multiple_ref_link `try_lock()`]]
+
 [template unlock_ref_link[link_text] [link thread.synchronization.mutex_concepts.lockable.unlock [link_text]]]
 [def __unlock_ref__ [unlock_ref_link `unlock()`]]
 

Modified: branches/proto/v4/libs/thread/doc/thread_ref.qbk
==============================================================================
--- branches/proto/v4/libs/thread/doc/thread_ref.qbk (original)
+++ branches/proto/v4/libs/thread/doc/thread_ref.qbk 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -933,7 +933,8 @@
         thread_group();
         ~thread_group();
 
- thread* create_thread(const function0<void>& threadfunc);
+ template<typename F>
+ thread* create_thread(F threadfunc);
         void add_thread(thread* thrd);
         void remove_thread(thread* thrd);
         void join_all();
@@ -970,7 +971,8 @@
 
 [section:create_thread Member function `create_thread()`]
 
- thread* create_thread(const function0<void>& threadfunc);
+ template<typename F>
+ thread* create_thread(F threadfunc);
 
 [variablelist
 

Modified: branches/proto/v4/libs/tr1/doc/tr1.qbk
==============================================================================
--- branches/proto/v4/libs/tr1/doc/tr1.qbk (original)
+++ branches/proto/v4/libs/tr1/doc/tr1.qbk 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -1464,16 +1464,15 @@
 
 [endsect]
 
-[endsect]
-
-[section:unsupported TR By Subject: Unsupported Features]
-
 [section:special Mathematical Special Functions.]
 
 The TR adds 23 special functions (plus float and long double overloads)
-to header <cmath>. However, at present there is no Boost License
-compatible implementation of these functions, so these are [*unsupported
-by this implementation] unless your standard library supports them itself.
+to header <cmath>.
+
+Refer to the
+[@../../libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/tr1.html Math Library docs]
+for more information.
+
    
    namespace std {
    namespace tr1 {
@@ -1600,10 +1599,264 @@
 
 
 [*Standard Conformity:]
-['[*Not Supported.]]
+The following functions are not supported in the Boost version of this component:
+
+ // [5.2.1.7] confluent hypergeometric functions:
+ double conf_hyperg(double a, double c, double x);
+ float conf_hypergf(float a, float c, float x);
+ long double conf_hypergl(long double a, long double c, long double x);
+
+ // [5.2.1.17] hypergeometric functions:
+ double hyperg(double a, double b, double c, double x);
+ float hypergf(float a, float b, float c, float x);
+ long double hypergl(long double a, long double b, long double c, long double x);
 
 [endsect]
 
+[section:c99_special C99 Mathematical Special Functions.]
+
+The TR adds a number of special functions which were first introduced in the C99 standard
+to header <cmath>.
+
+Refer to the
+[@../../libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/tr1.html Math Library docs]
+for more information.
+
+
+ namespace std {
+ namespace tr1 {
+
+ // types
+ typedef floating-type double_t;
+ typedef floating-type float_t;
+
+ // functions
+ double acosh(double x);
+ float acoshf(float x);
+ long double acoshl(long double x);
+
+ double asinh(double x);
+ float asinhf(float x);
+ long double asinhl(long double x);
+
+ double atanh(double x);
+ float atanhf(float x);
+ long double atanhl(long double x);
+
+ double cbrt(double x);
+ float cbrtf(float x);
+ long double cbrtl(long double x);
+
+ double copysign(double x, double y);
+ float copysignf(float x, float y);
+ long double copysignl(long double x, long double y);
+
+ double erf(double x);
+ float erff(float x);
+ long double erfl(long double x);
+
+ double erfc(double x);
+ float erfcf(float x);
+ long double erfcl(long double x);
+
+ double exp2(double x);
+ float exp2f(float x);
+ long double exp2l(long double x);
+
+ double expm1(double x);
+ float expm1f(float x);
+ long double expm1l(long double x);
+
+ double fdim(double x, double y);
+ float fdimf(float x, float y);
+ long double fdiml(long double x, long double y);
+
+ double fma(double x, double y, double z);
+ float fmaf(float x, float y, float z);
+ long double fmal(long double x, long double y, long double z);
+
+ double fmax(double x, double y);
+ float fmaxf(float x, float y);
+ long double fmaxl(long double x, long double y);
+
+ double fmin(double x, double y);
+ float fminf(float x, float y);
+ long double fminl(long double x, long double y);
+
+ double hypot(double x, double y);
+ float hypotf(float x, float y);
+ long double hypotl(long double x, long double y);
+
+ int ilogb(double x);
+ int ilogbf(float x);
+ int ilogbl(long double x);
+
+ double lgamma(double x);
+ float lgammaf(float x);
+ long double lgammal(long double x);
+
+ long long llrint(double x);
+ long long llrintf(float x);
+ long long llrintl(long double x);
+
+ long long llround(double x);
+ long long llroundf(float x);
+ long long llroundl(long double x);
+
+ double log1p(double x);
+ float log1pf(float x);
+ long double log1pl(long double x);
+
+ double log2(double x);
+ float log2f(float x);
+ long double log2l(long double x);
+
+ double logb(double x);
+ float logbf(float x);
+ long double logbl(long double x);
+
+ long lrint(double x);
+ long lrintf(float x);
+ long lrintl(long double x);
+
+ long lround(double x);
+ long lroundf(float x);
+ long lroundl(long double x);
+
+ double nan(const char *str);
+ float nanf(const char *str);
+ long double nanl(const char *str);
+
+ double nearbyint(double x);
+ float nearbyintf(float x);
+ long double nearbyintl(long double x);
+
+ double nextafter(double x, double y);
+ float nextafterf(float x, float y);
+ long double nextafterl(long double x, long double y);
+
+ double nexttoward(double x, long double y);
+ float nexttowardf(float x, long double y);
+ long double nexttowardl(long double x, long double y);
+
+ double remainder(double x, double y);
+ float remainderf(float x, float y);
+ long double remainderl(long double x, long double y);
+
+ double remquo(double x, double y, int *pquo);
+ float remquof(float x, float y, int *pquo);
+ long double remquol(long double x, long double y, int *pquo);
+
+ double rint(double x);
+ float rintf(float x);
+ long double rintl(long double x);
+
+ double round(double x);
+ float roundf(float x);
+ long double roundl(long double x);
+
+ double scalbln(double x, long ex);
+ float scalblnf(float x, long ex);
+ long double scalblnl(long double x, long ex);
+ double scalbn(double x, int ex);
+ float scalbnf(float x, int ex);
+ long double scalbnl(long double x, int ex);
+
+ double tgamma(double x);
+ float tgammaf(float x);
+ long double tgammal(long double x);
+
+ double trunc(double x);
+ float truncf(float x);
+ long double truncl(long double x);
+
+ // C99 macros defined as C++ templates
+ template<class T> bool signbit(T x);
+ template<class T> int fpclassify(T x);
+ template<class T> bool isfinite(T x);
+ template<class T> bool isinf(T x);
+ template<class T> bool isnan(T x);
+ template<class T> bool isnormal(T x);
+ template<class T> bool isgreater(T x, T y);
+ template<class T> bool isgreaterequal(T x, T y);
+ template<class T> bool isless(T x, T y);
+ template<class T> bool islessequal(T x, T y);
+ template<class T> bool islessgreater(T x, T y);
+ template<class T> bool isunordered(T x, T y);
+
+ }} // namespaces
+
+[*Standard Conformity:]
+The following functions are not supported in the Boost version of this component:
+
+ double exp2(double x);
+ float exp2f(float x);
+ long double exp2l(long double x);
+
+ double fdim(double x, double y);
+ float fdimf(float x, float y);
+ long double fdiml(long double x, long double y);
+
+ double fma(double x, double y, double z);
+ float fmaf(float x, float y, float z);
+ long double fmal(long double x, long double y, long double z);
+
+ int ilogb(double x);
+ int ilogbf(float x);
+ int ilogbl(long double x);
+
+ long long llrint(double x);
+ long long llrintf(float x);
+ long long llrintl(long double x);
+
+ double log2(double x);
+ float log2f(float x);
+ long double log2l(long double x);
+
+ double logb(double x);
+ float logbf(float x);
+ long double logbl(long double x);
+
+ long lrint(double x);
+ long lrintf(float x);
+ long lrintl(long double x);
+
+ double nan(const char *str);
+ float nanf(const char *str);
+ long double nanl(const char *str);
+
+ double nearbyint(double x);
+ float nearbyintf(float x);
+ long double nearbyintl(long double x);
+
+ double remainder(double x, double y);
+ float remainderf(float x, float y);
+ long double remainderl(long double x, long double y);
+
+ double remquo(double x, double y, int *pquo);
+ float remquof(float x, float y, int *pquo);
+ long double remquol(long double x, long double y, int *pquo);
+
+ double rint(double x);
+ float rintf(float x);
+ long double rintl(long double x);
+
+ double scalbln(double x, long ex);
+ float scalblnf(float x, long ex);
+ long double scalblnl(long double x, long ex);
+ double scalbn(double x, int ex);
+ float scalbnf(float x, int ex);
+ long double scalbnl(long double x, int ex);
+
+ // C99 macros defined as C++ templates
+ template<class T> bool isgreater(T x, T y);
+ template<class T> bool isgreaterequal(T x, T y);
+ template<class T> bool isless(T x, T y);
+ template<class T> bool islessequal(T x, T y);
+ template<class T> bool islessgreater(T x, T y);
+ template<class T> bool isunordered(T x, T y);
+
+[endsect]
 [endsect]
 
 [section:header_list TR1 By Header]

Modified: branches/proto/v4/status/explicit-failures-markup.xml
==============================================================================
--- branches/proto/v4/status/explicit-failures-markup.xml (original)
+++ branches/proto/v4/status/explicit-failures-markup.xml 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -1875,6 +1875,7 @@
             <toolset name="gcc-3.1*"/>
             <toolset name="gcc-3.2*"/>
             <toolset name="gcc-3.3*"/>
+ <toolset name="gcc-4.2.1_hpux_ia64"/>
             <toolset name="mipspro"/>
             <toolset name="acc*"/>
             <toolset name="msvc-8.0~wm5*"/>

Modified: branches/proto/v4/tools/build/v2/tools/acc.jam
==============================================================================
--- branches/proto/v4/tools/build/v2/tools/acc.jam (original)
+++ branches/proto/v4/tools/build/v2/tools/acc.jam 2008-08-10 12:20:47 EDT (Sun, 10 Aug 2008)
@@ -97,7 +97,7 @@
 
 actions acc.compile.c
 {
- $(CONFIG_COMMAND) -Ae -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" $(OPTIONS)
+ cc -c -I$(BOOST_ROOT) -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" $(OPTIONS)
 }
 
 actions acc.compile.c++


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