Boost logo

Boost-Commit :

From: eric_at_[hidden]
Date: 2007-12-04 02:28:41


Author: eric_niebler
Date: 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
New Revision: 41678
URL: http://svn.boost.org/trac/boost/changeset/41678

Log:
Merged revisions 41596-41677 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r41613 | hkaiser | 2007-12-02 16:34:52 -0800 (Sun, 02 Dec 2007) | 1 line
  
  Wave: One more fix to enable standalone header compilation.
........
  r41621 | hkaiser | 2007-12-02 17:16:28 -0800 (Sun, 02 Dec 2007) | 1 line
  
  Wave: Updated documentation.
........
  r41625 | noel_belcourt | 2007-12-02 18:04:30 -0800 (Sun, 02 Dec 2007) | 4 lines
  
  Change macro logic to get <stdarg.h> included on
  SunOS.
........
  r41626 | grafik | 2007-12-02 18:57:49 -0800 (Sun, 02 Dec 2007) | 1 line
  
  Work around some Windows CMD.EXE programs that will fail executing a totally empty batch file.
........
  r41627 | grafik | 2007-12-02 19:06:22 -0800 (Sun, 02 Dec 2007) | 1 line
  
  Work around some Windows CMD.EXE programs that will fail executing a totally empty batch file.
........
  r41629 | grafik | 2007-12-02 20:05:39 -0800 (Sun, 02 Dec 2007) | 1 line
  
  Bump bjam to 3.1.17 after 3.1.16 release.
........
  r41636 | nesotto | 2007-12-03 01:00:23 -0800 (Mon, 03 Dec 2007) | 1 line
  
  missing include
........
  r41638 | nesotto | 2007-12-03 01:08:02 -0800 (Mon, 03 Dec 2007) | 1 line
  
  Ticket #1477
........
  r41639 | vladimir_prus | 2007-12-03 02:39:46 -0800 (Mon, 03 Dec 2007) | 2 lines
  
  Fix 64-bit windows msvc detection, again.
........
  r41642 | t_schwinger | 2007-12-03 05:25:26 -0800 (Mon, 03 Dec 2007) | 3 lines
  
  Strips top-level cv-qualifiers off non-reference types, now.
........
  r41644 | nesotto | 2007-12-03 07:16:16 -0800 (Mon, 03 Dec 2007) | 1 line
  
  Ticket #1488
........
  r41645 | nesotto | 2007-12-03 07:19:37 -0800 (Mon, 03 Dec 2007) | 1 line
  
  Ticket #1467
........
  r41646 | grafik | 2007-12-03 07:48:40 -0800 (Mon, 03 Dec 2007) | 1 line
  
  Switch testing to 3.1.16 bjam release.
........
  r41647 | niels_dekker | 2007-12-03 10:14:37 -0800 (Mon, 03 Dec 2007) | 1 line
  
  Added value_init test for C style array of bytes
........
  r41648 | niels_dekker | 2007-12-03 10:20:19 -0800 (Mon, 03 Dec 2007) | 1 line
  
  Added missing #include to value_init_test.cpp. (My mistake!)
........
  r41649 | jhunold | 2007-12-03 10:47:17 -0800 (Mon, 03 Dec 2007) | 2 lines
  
  Silence unused paramter warning in release mode.
........
  r41650 | jhunold | 2007-12-03 10:51:26 -0800 (Mon, 03 Dec 2007) | 2 lines
  
  Add cosmetic virtual detructors to silence compile warnings.
........
  r41651 | t_schwinger | 2007-12-03 11:00:09 -0800 (Mon, 03 Dec 2007) | 3 lines
  
  adds explicit failures markup for function_types
........
  r41653 | lbourdev | 2007-12-03 11:13:15 -0800 (Mon, 03 Dec 2007) | 3 lines
  
  GIL: Typo in documentation.
........
  r41663 | noel_belcourt | 2007-12-03 12:50:58 -0800 (Mon, 03 Dec 2007) | 5 lines
  
  Changes to support pgi-7.0 on Linux.
    * pthread requires rt
    * force IEEE 754 math for slow, but correct, numerics
........
  r41667 | niels_dekker | 2007-12-03 13:41:59 -0800 (Mon, 03 Dec 2007) | 2 lines
  
  Added value_init test for an value_initialized<T> object allocated on the heap.
........
  r41668 | anthonyw | 2007-12-03 14:00:26 -0800 (Mon, 03 Dec 2007) | 1 line
  
  check predicate before returning if we time out on a predicated version of timed_wait
........

Properties modified:
   branches/proto/v3/ (props changed)
Text files modified:
   branches/proto/v3/boost/fusion/support/deduce.hpp | 18 ++++++++++++++++++
   branches/proto/v3/boost/ptr_container/detail/reversible_ptr_container.hpp | 11 ++++++++++-
   branches/proto/v3/boost/ptr_container/nullable.hpp | 10 ++++++++++
   branches/proto/v3/boost/python/converter/implicit.hpp | 2 +-
   branches/proto/v3/boost/range/detail/sizer.hpp | 6 ++----
   branches/proto/v3/boost/range/sub_range.hpp | 2 ++
   branches/proto/v3/boost/test/impl/execution_monitor.ipp | 2 +-
   branches/proto/v3/boost/thread/pthread/condition_variable.hpp | 2 +-
   branches/proto/v3/boost/thread/pthread/condition_variable_fwd.hpp | 2 +-
   branches/proto/v3/boost/thread/win32/condition_variable.hpp | 2 +-
   branches/proto/v3/boost/wave/grammars/cpp_chlit_grammar.hpp | 14 ++++++++++++++
   branches/proto/v3/libs/gil/doc/index.html | 2 +-
   branches/proto/v3/libs/python/test/bienstman1.cpp | 2 +-
   branches/proto/v3/libs/python/test/bienstman3.cpp | 1 +
   branches/proto/v3/libs/python/test/implicit.cpp | 1 +
   branches/proto/v3/libs/python/test/pointer_vector.cpp | 1 +
   branches/proto/v3/libs/python/test/shared_ptr.cpp | 1 +
   branches/proto/v3/libs/python/test/wrapper_held_type.cpp | 1 +
   branches/proto/v3/libs/utility/value_init_test.cpp | 12 ++++++++++++
   branches/proto/v3/libs/wave/doc/class_reference_context.html | 28 ++++++++++++++--------------
   branches/proto/v3/libs/wave/doc/class_reference_ctxpolicy.html | 6 +++---
   branches/proto/v3/libs/wave/doc/introduction.html | 4 ++--
   branches/proto/v3/libs/wave/doc/preface.html | 11 +++++------
   branches/proto/v3/libs/wave/doc/quickstart.html | 8 ++++----
   branches/proto/v3/libs/wave/index.html | 4 ++--
   branches/proto/v3/status/explicit-failures-markup.xml | 26 +++++++++++++++++++++++---
   branches/proto/v3/tools/build/v2/tools/msvc.jam | 8 ++++----
   branches/proto/v3/tools/build/v2/tools/pgi.jam | 3 ++-
   branches/proto/v3/tools/jam/doc/bjam.qbk | 4 ++--
   branches/proto/v3/tools/jam/doc/history.qbk | 4 ++++
   branches/proto/v3/tools/jam/src/boost-jam.spec | 2 +-
   branches/proto/v3/tools/jam/src/build.jam | 2 +-
   branches/proto/v3/tools/jam/src/execnt.c | 2 +-
   branches/proto/v3/tools/jam/src/patchlevel.h | 6 +++---
   branches/proto/v3/tools/regression/src/regression.py | 2 +-
   35 files changed, 152 insertions(+), 60 deletions(-)

Modified: branches/proto/v3/boost/fusion/support/deduce.hpp
==============================================================================
--- branches/proto/v3/boost/fusion/support/deduce.hpp (original)
+++ branches/proto/v3/boost/fusion/support/deduce.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -25,6 +25,24 @@
         typedef T type;
     };
 
+ template <typename T>
+ struct deduce<T const>
+ {
+ typedef T type;
+ };
+
+ template <typename T>
+ struct deduce<T volatile>
+ {
+ typedef T type;
+ };
+
+ template <typename T>
+ struct deduce<T const volatile>
+ {
+ typedef T type;
+ };
+
     // Keep references on mutable LValues
 
     template <typename T>

Modified: branches/proto/v3/boost/ptr_container/detail/reversible_ptr_container.hpp
==============================================================================
--- branches/proto/v3/boost/ptr_container/detail/reversible_ptr_container.hpp (original)
+++ branches/proto/v3/boost/ptr_container/detail/reversible_ptr_container.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -38,9 +38,14 @@
 #include <typeinfo>
 #include <memory>
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:4127)
+#endif
+
 namespace boost
 {
-
+
 namespace ptr_container_detail
 {
     template< class CloneAllocator >
@@ -648,4 +653,8 @@
 
 } // namespace 'boost'
 
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
+
 #endif

Modified: branches/proto/v3/boost/ptr_container/nullable.hpp
==============================================================================
--- branches/proto/v3/boost/ptr_container/nullable.hpp (original)
+++ branches/proto/v3/boost/ptr_container/nullable.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -45,8 +45,18 @@
     private:
             BOOST_STATIC_CONSTANT( T*, var );
     public:
+
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(push)
+#pragma warning(disable:6334)
+#endif
+
             BOOST_STATIC_CONSTANT(bool, value = sizeof( ptr_container_detail::is_nullable( var ) )
                                                 == sizeof( type_traits::yes_type ) );
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
+#pragma warning(pop)
+#endif
+
     };
     
     template< class T >

Modified: branches/proto/v3/boost/python/converter/implicit.hpp
==============================================================================
--- branches/proto/v3/boost/python/converter/implicit.hpp (original)
+++ branches/proto/v3/boost/python/converter/implicit.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -32,7 +32,7 @@
 
         arg_from_python<Source> get_source(obj);
         bool convertible = get_source.convertible();
- BOOST_ASSERT(convertible);
+ BOOST_VERIFY(convertible);
         
         new (storage) Target(get_source());
         

Modified: branches/proto/v3/boost/range/detail/sizer.hpp
==============================================================================
--- branches/proto/v3/boost/range/detail/sizer.hpp (original)
+++ branches/proto/v3/boost/range/detail/sizer.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -25,12 +25,10 @@
     //////////////////////////////////////////////////////////////////////
     
     template< typename T, std::size_t sz >
- char&
- sizer( const T BOOST_RANGE_ARRAY_REF()[sz] )[sz];
+ char (& sizer( const T BOOST_RANGE_ARRAY_REF()[sz] ) )[sz];
     
     template< typename T, std::size_t sz >
- char&
- sizer( T BOOST_RANGE_ARRAY_REF()[sz] )[sz];
+ char (& sizer( T BOOST_RANGE_ARRAY_REF()[sz] ) )[sz];
 
 } // namespace 'boost'
 

Modified: branches/proto/v3/boost/range/sub_range.hpp
==============================================================================
--- branches/proto/v3/boost/range/sub_range.hpp (original)
+++ branches/proto/v3/boost/range/sub_range.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -11,6 +11,8 @@
 #ifndef BOOST_RANGE_SUB_RANGE_HPP
 #define BOOST_RANGE_SUB_RANGE_HPP
 
+#include <boost/detail/workaround.hpp>
+
 #if BOOST_WORKAROUND(BOOST_MSVC, == 1310) || BOOST_WORKAROUND(BOOST_MSVC, == 1400)
     #pragma warning( disable : 4996 )
 #endif

Modified: branches/proto/v3/boost/test/impl/execution_monitor.ipp
==============================================================================
--- branches/proto/v3/boost/test/impl/execution_monitor.ipp (original)
+++ branches/proto/v3/boost/test/impl/execution_monitor.ipp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -51,7 +51,7 @@
 #endif
 
 // to use vsnprintf
-#if defined(__SUNPRO_CC) && defined(__SunOS)
+#if defined(__SUNPRO_CC) || defined(__SunOS)
 # include <stdio.h>
 # include <stdarg.h>
 using std::va_list;

Modified: branches/proto/v3/boost/thread/pthread/condition_variable.hpp
==============================================================================
--- branches/proto/v3/boost/thread/pthread/condition_variable.hpp (original)
+++ branches/proto/v3/boost/thread/pthread/condition_variable.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -143,7 +143,7 @@
             while (!pred())
             {
                 if(!timed_wait(m, wait_until))
- return false;
+ return pred();
             }
             return true;
         }

Modified: branches/proto/v3/boost/thread/pthread/condition_variable_fwd.hpp
==============================================================================
--- branches/proto/v3/boost/thread/pthread/condition_variable_fwd.hpp (original)
+++ branches/proto/v3/boost/thread/pthread/condition_variable_fwd.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -41,7 +41,7 @@
             while (!pred())
             {
                 if(!timed_wait(m, wait_until))
- return false;
+ return pred();
             }
             return true;
         }

Modified: branches/proto/v3/boost/thread/win32/condition_variable.hpp
==============================================================================
--- branches/proto/v3/boost/thread/win32/condition_variable.hpp (original)
+++ branches/proto/v3/boost/thread/win32/condition_variable.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -186,7 +186,7 @@
                 while (!pred())
                 {
                     if(!do_wait(m, wait_until))
- return false;
+ return pred();
                 }
                 return true;
             }

Modified: branches/proto/v3/boost/wave/grammars/cpp_chlit_grammar.hpp
==============================================================================
--- branches/proto/v3/boost/wave/grammars/cpp_chlit_grammar.hpp (original)
+++ branches/proto/v3/boost/wave/grammars/cpp_chlit_grammar.hpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -22,6 +22,10 @@
 #include <boost/spirit/core.hpp>
 #include <boost/spirit/attribute/closure.hpp>
 #include <boost/spirit/dynamic/if.hpp>
+#if SPIRIT_VERSION >= 0x1700
+#include <boost/spirit/actor/assign_actor.hpp>
+#include <boost/spirit/actor/push_back_actor.hpp>
+#endif // SPIRIT_VERSION >= 0x1700
 
 #include <boost/spirit/phoenix/operators.hpp>
 #include <boost/spirit/phoenix/primitives.hpp>
@@ -31,6 +35,16 @@
 #include <boost/wave/cpp_exceptions.hpp>
 #include <boost/wave/grammars/cpp_literal_grammar_gen.hpp>
 
+#if !defined(spirit_append_actor)
+#if SPIRIT_VERSION >= 0x1700
+#define spirit_append_actor(actor) boost::spirit::push_back_a(actor)
+#define spirit_assign_actor(actor) boost::spirit::assign_a(actor)
+#else
+#define spirit_append_actor(actor) boost::spirit::append(actor)
+#define spirit_assign_actor(actor) boost::spirit::assign(actor)
+#endif // SPIRIT_VERSION >= 0x1700
+#endif // !defined(spirit_append_actor)
+
 // this must occur after all of the includes and before any code appears
 #ifdef BOOST_HAS_ABI_HEADERS
 #include BOOST_ABI_PREFIX

Modified: branches/proto/v3/libs/gil/doc/index.html
==============================================================================
--- branches/proto/v3/libs/gil/doc/index.html (original)
+++ branches/proto/v3/libs/gil/doc/index.html 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -21,7 +21,7 @@
         <h3 class="navbar">Information</h3>
         <ul>
             <li>GIL ASL Home</li>
- <li>GIL Wxtensions</li>
+ <li>GIL Extensions</li>
             <li>GIL Discussion Forum</li>
             <li>Acknowledgements</li>
         </ul>

Modified: branches/proto/v3/libs/python/test/bienstman1.cpp
==============================================================================
--- branches/proto/v3/libs/python/test/bienstman1.cpp (original)
+++ branches/proto/v3/libs/python/test/bienstman1.cpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -11,7 +11,7 @@
 
 struct V
 {
-
+ virtual ~V() {}; // silence compiler warningsa
  virtual void f() = 0;
 
  const A* inside() {return &a;}

Modified: branches/proto/v3/libs/python/test/bienstman3.cpp
==============================================================================
--- branches/proto/v3/libs/python/test/bienstman3.cpp (original)
+++ branches/proto/v3/libs/python/test/bienstman3.cpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -7,6 +7,7 @@
 
 struct V
 {
+ virtual ~V() {}; // silence compiler warningsa
  virtual void f() = 0;
 };
 

Modified: branches/proto/v3/libs/python/test/implicit.cpp
==============================================================================
--- branches/proto/v3/libs/python/test/implicit.cpp (original)
+++ branches/proto/v3/libs/python/test/implicit.cpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -24,6 +24,7 @@
 struct bar {};
 struct foo
 {
+ virtual ~foo() {}; // silence compiler warnings
     virtual void f() = 0;
     operator bar() const { return bar(); }
 };

Modified: branches/proto/v3/libs/python/test/pointer_vector.cpp
==============================================================================
--- branches/proto/v3/libs/python/test/pointer_vector.cpp (original)
+++ branches/proto/v3/libs/python/test/pointer_vector.cpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -10,6 +10,7 @@
 class Abstract
 {
 public:
+ virtual ~Abstract() {}; // silence compiler warningsa
     virtual std::string f() =0;
 };
 

Modified: branches/proto/v3/libs/python/test/shared_ptr.cpp
==============================================================================
--- branches/proto/v3/libs/python/test/shared_ptr.cpp (original)
+++ branches/proto/v3/libs/python/test/shared_ptr.cpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -129,6 +129,7 @@
 // regressions from Nicodemus
     struct A
     {
+ virtual ~A() {}; // silence compiler warnings
         virtual int f() = 0;
         static int call_f(shared_ptr<A>& a) { return a->f(); }
     };

Modified: branches/proto/v3/libs/python/test/wrapper_held_type.cpp
==============================================================================
--- branches/proto/v3/libs/python/test/wrapper_held_type.cpp (original)
+++ branches/proto/v3/libs/python/test/wrapper_held_type.cpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -13,6 +13,7 @@
 
 struct data
 {
+ virtual ~data() {}; // silence compiler warnings
     virtual int id() const
     {
         return 42;

Modified: branches/proto/v3/libs/utility/value_init_test.cpp
==============================================================================
--- branches/proto/v3/libs/utility/value_init_test.cpp (original)
+++ branches/proto/v3/libs/utility/value_init_test.cpp 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -8,10 +8,12 @@
 //
 // Initial: 21 Agu 2002
 
+#include <cstring> // For memcmp.
 #include <iostream>
 #include <string>
 
 #include "boost/utility/value_init.hpp"
+#include <boost/shared_ptr.hpp>
 
 #ifdef __BORLANDC__
 #pragma hdrstop
@@ -152,6 +154,8 @@
 bool operator == ( AggregatePODStructWrapper const& lhs, AggregatePODStructWrapper const& rhs )
 { return lhs.dataMember == rhs.dataMember ; }
 
+typedef unsigned char ArrayOfBytes[256];
+
 //
 // This test function tests boost::value_initialized<T> for a specific type T.
 // The first argument (y) is assumed have the value of a value-initialized object.
@@ -175,6 +179,9 @@
   x_c_ref = z ;
   BOOST_CHECK ( x_c == z ) ;
 
+ boost::shared_ptr<boost::value_initialized<T> > ptr( new boost::value_initialized<T> );
+ BOOST_CHECK ( y == *ptr ) ;
+
 #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
   boost::value_initialized<T const> cx ;
   BOOST_CHECK ( y == cx ) ;
@@ -184,6 +191,7 @@
   BOOST_CHECK ( y == cx_c ) ;
   BOOST_CHECK ( y == boost::get(cx_c) ) ;
 #endif
+
   return boost::minimal_test::errors_counter() == counter_before_test ;
 }
 
@@ -232,6 +240,10 @@
   aggregatePODStructWrapper1.dataMember = nonZeroInitializedAggregatePODStruct;
   BOOST_CHECK ( test(aggregatePODStructWrapper0, aggregatePODStructWrapper1) );
 
+ ArrayOfBytes zeroInitializedArrayOfBytes = { 0 };
+ boost::value_initialized<ArrayOfBytes> valueInitializedArrayOfBytes;
+ BOOST_CHECK (std::memcmp(get(valueInitializedArrayOfBytes), zeroInitializedArrayOfBytes, sizeof(ArrayOfBytes)) == 0);
+
   return 0;
 }
 

Modified: branches/proto/v3/libs/wave/doc/class_reference_context.html
==============================================================================
--- branches/proto/v3/libs/wave/doc/class_reference_context.html (original)
+++ branches/proto/v3/libs/wave/doc/class_reference_context.html 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -52,7 +52,7 @@
     
     <span class="keyword">template</span> &lt;
         <span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> LexIterator,
- <span class="keyword">typename</span> InputPolicy, <span class="keyword">typename</span> TracePolicy
+ <span class="keyword">typename</span> InputPolicy, <span class="keyword">typename</span> ContextPolicy
     &gt;
     <span class="keyword">class</span> context <span class="special">:</span> <span class="keyword">public</span> InputPolicy
     {
@@ -66,7 +66,7 @@
         <a href="class_reference_context.html#constructor">context</a>(Iterator<span class="keyword"> const</span> &amp;first_,
             Iterator <span class="keyword">const</span> &amp;last_,
             <span class="keyword">char const</span> *fname = <span class="string">"&lt;Unknown&gt;"</span>,
- TracePolicy <span class="keyword">const</span>&amp; trace = TracePolicy())
+ ContextPolicy <span class="keyword">const</span>&amp; ctx_policy = ContextPolicy())
 
     <span class="comment">// iterator interface</span>
         iterator_type begin() <span class="keyword">const</span>;
@@ -135,9 +135,9 @@
         to use, when it comes to including and opening an included file.</p></td>
   </tr>
   <tr>
- <td class="table_cells"><code>TracePolicy</code></td>
- <td class="table_cells"><p>The type of the trace policy class, which allows
- to customize the trace output generated while expanding macros. The requirements for this policy are described here.</p></td>
+ <td class="table_cells"><code>ContextPolicy</code></td>
+ <td class="table_cells"><p>The type of the context policy class, which allows
+ to customize different aspects of the behaviour of the preprocessing. The requirements of this policy and the available customization points provided by this policy are described here.</p></td>
   </tr>
 </table>
 <p>For further information about the lexer type to use, please refer to the <a href="class_reference_lexer.html">The
@@ -145,9 +145,9 @@
 <p>If the template parameter <tt>InputPolicy</tt> is omitted, the template <tt>boost::wave::iteration_context_policies::load_file_to_string</tt>
   is used. For further information about the input policy, please refer to the
   topic The Input Policy.</p>
-<p>If the template parameter TracePolicyT is omitted, the <tt>boost::wave::macro_trace_policies::no_tracing</tt>
- policy type is used, i.e. by default there is no tracing performed. For further
- information about the hooking policy, please refer to the topic <a href="class_reference_ctxpolicy.html">The
+<p>If the template parameter ContextPolicy is omitted, the <tt>boost::wave::context_policies::eat_whitespace</tt>
+ policy type is used, implementing certain basic preprocessing hooks needed for normal (default) execution. For further
+ information about the context policy, please refer to the topic <a href="class_reference_ctxpolicy.html">The
   Context Policy</a>. </p>
 <h2><a name="public_typedefs"></a>Public Typedefs</h2>
 <p>The <tt>boost::wave::context</tt> template defines the following public typedefs, which may be useful while using this class:</p>
@@ -172,8 +172,8 @@
     <td class="table_cells"><p>The <tt>InputPolicy</tt> template parameter provided, while the <tt>context</tt> class was instantiated. </p></td>
   </tr>
   <tr>
- <td class="table_cells"><code>trace_policy_type</code></td>
- <td class="table_cells"><p>The <tt>TracePolicy</tt> template parameter provided, while the <tt>context</tt> class was instantiated. </p></td>
+ <td class="table_cells"><code>context_policy_type</code></td>
+ <td class="table_cells"><p>The <tt>ContextPolicy</tt> template parameter provided, while the <tt>context</tt> class was instantiated. </p></td>
   </tr>
   <tr>
     <td class="table_cells"><code>position_type</code></td>
@@ -184,15 +184,15 @@
 <p><b><a name="constructor" id="constructor"></a>Constructor</b></p>
 <pre> context(Iterator <span class="keyword">const</span> &amp;first,
         Iterator <span class="keyword">const</span> &amp;last, <span class="keyword">char</span> <span class="keyword">const</span> *filename,
- TracePolicy <span class="keyword">const</span>&amp; trace);</pre>
+ ContextPolicy <span class="keyword">const</span>&amp; ctx_policy);</pre>
     <p>Constructs a context object on top of the input stream given by the pair
     of auxilliary iterators <tt>[first,&nbsp;last)</tt>. The iterators should
     be at least <tt>forward_iterator</tt> type iterators. The filename parameter
     is to be supplied for informational purposes only. This string is used for
     indicating the token positions inside the input stream, it is not validated
     against the file system. If the filename parameter is not given it defaults
- to <span class="copyright">&quot;&lt;Unknown&gt;&quot;</span>. If the trace
- parameter isn't supplied it defaults to a default constructed <tt>TracePolicy</tt>
+ to <span class="copyright">&quot;&lt;Unknown&gt;&quot;</span>. If the ctx_policy
+ parameter isn't supplied it defaults to a default constructed <tt>ContextPolicy</tt>
     object. </p>
     <p>Additionally the macro symbol table is filled with the predefined macros
     and the current reference directory is set to the path of the given filename.
@@ -507,7 +507,7 @@
   <font size="2">Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </font> </p>
 <span class="updated"></span>
 <p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Tuesday, June 26, 2007 20:21<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:12<!-- #EndDate -->
   </span>
 </p>
 <p>&nbsp;</p>

Modified: branches/proto/v3/libs/wave/doc/class_reference_ctxpolicy.html
==============================================================================
--- branches/proto/v3/libs/wave/doc/class_reference_ctxpolicy.html (original)
+++ branches/proto/v3/libs/wave/doc/class_reference_ctxpolicy.html 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -38,10 +38,10 @@
   <li>a token is about to be returned from the preprocessor, </li>
   <li>a macro get's defined or undefined, </li>
   <li>a macro has been expanded or rescanned,</li>
- <li>an include file has been opened or left, </li>
+ <li>an include file has been opened or closed, </li>
   <li>a conditional expression was evaluated,</li>
   <li>a token has to be skipped because it is contained in a non-evaluated conditional block, </li>
- <li> a pragma of the form <tt>'wave option[(value)]'</tt> has been recognised. </li>
+ <li> a pragma of the form <tt>'wave option[(value)]'</tt> has been recognized. </li>
 </ul>
 <p>This policy type is used as a template parameter to the boost::wave::context<>
   object, where the default policy provides empty hook functions only.</p>
@@ -435,7 +435,7 @@
   <br>
 <font size="2">Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </font> </p>
 <p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Wednesday, July 4, 2007 16:10<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:12<!-- #EndDate -->
 </span></p>
 </body>
 </html>

Modified: branches/proto/v3/libs/wave/doc/introduction.html
==============================================================================
--- branches/proto/v3/libs/wave/doc/introduction.html (original)
+++ branches/proto/v3/libs/wave/doc/introduction.html 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -32,7 +32,7 @@
   iterator interface. The context object helps to configure the actual preprocessing
   process (as search path's, predefined macros, etc.). The exposed iterators are
   generated by this context object too. Iterating over the sequence defined by
- the two iterators will return the preprocessed tokens, which are to be built
+ the two iterators will return the preprocessed tokens, which are built
   on the fly from the given input stream. </P>
 <P dir="ltr"> The C++ preprocessor iterator itself is fed by a C++ lexer iterator,
   which implements an abstract interface. The C++ lexers packaged with the
@@ -87,7 +87,7 @@
 <font size="2">Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </font> </p>
 <span class="updated"></span>
 <p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Wednesday, December 14, 2005 10:58<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:03<!-- #EndDate -->
 </span> </p>
 </body>
 </html>

Modified: branches/proto/v3/libs/wave/doc/preface.html
==============================================================================
--- branches/proto/v3/libs/wave/doc/preface.html (original)
+++ branches/proto/v3/libs/wave/doc/preface.html 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -23,7 +23,7 @@
     <td width="30"></td>
   </tr>
 </table>
-<p>During the last time many new features were developed as additions to the <tt>Spirit</tt>
+<p>During the last time many new features have been developed as additions to the <tt>Spirit</tt>
   <a href="references.html#spirit">[4]</a> parser construction framework and we
   felt more and more, that it would be very helpful, to have a 'real world' example,
   which could be used as a sandbox for testing the usability of certain features.
@@ -41,7 +41,7 @@
 <p align="justify"> The C++ preprocessor is a macro processor that under normal
   circumstances is used automatically by your C++ compiler to transform your program
   before actual compilation. It is called a macro processor because it allows
- you to define macros, which are brief abbreviations for longer constructs. The
+ to define macros, which are brief abbreviations for longer constructs. The
   C++ preprocessor provides four separate facilities that you can use as you see
   fit: </p>
 <blockquote>
@@ -61,7 +61,7 @@
   generative metaprogramming combined with template metaprogramming in C++ is
   by far one of the most powerful compile-time reflection/metaprogramming facilities
   that any language has ever supported.</p>
-<p>The C++ Standard [2] was adopted back in 1998, but there is still no (known to me) C++ compiler, which has a bugfree implementation of the rather simple preprocessor requirements mandated therein. This may be a result of the mentioned underestimation or even banning of the preprocessor from good programming style during the last few years or may stem from the somewhat awkward standardese dialect of English used to describe it. </p>
+<p>The C++ Standard [2] was adopted back in 1998, but there is still no (known to me) commercial C++ compiler, which has a bugfree implementation of the rather simple preprocessor requirements mandated therein. This may be a result of the mentioned underestimation or even banning of the preprocessor from good programming style during the last few years or may stem from the somewhat awkward standardese dialect of English used to describe it. Two open source projects are exceptions of this: gcc and Clang (a subproject of LLVM), both providing preprocessors with very good standards conformance. </p>
 <p align="justify">So the main goals for the <tt>Wave</tt> project are:</p>
 <blockquote>
   <p><b><img src="theme/bullet.gif" width="13" height="13" id="IMG1">&nbsp;</b>full
@@ -88,8 +88,7 @@
 preprocessors when complexity increases.</p>
 <p>As tests showed, the <tt>Wave</tt> library is very conformant to the C++ Standard,
   such that it compiles several strict conformant macro definitions, which are
- not even compilable with EDG based preprocessors (i.e. Comeau or Intel). The only preprocessor known to have similar Standards conformance
-today is the preprocessor of the gcc C/C++ compiler.</p>
+not even compilable with EDG based preprocessors (i.e. Comeau or Intel). </p>
 <table border="0">
   <tr>
     <td width="10"></td>
@@ -104,7 +103,7 @@
 <font size="2">Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </font> </p>
 <span class="updated"></span>
 <p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Sunday, May 15, 2005 12:23<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:03<!-- #EndDate -->
 </span></p>
 </body>
 </html>

Modified: branches/proto/v3/libs/wave/doc/quickstart.html
==============================================================================
--- branches/proto/v3/libs/wave/doc/quickstart.html (original)
+++ branches/proto/v3/libs/wave/doc/quickstart.html 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -24,7 +24,7 @@
     <td width="30"></td>
   </tr>
 </table>
-<p>Preprocessing with Wave is highly configurable. You must
+<p>Preprocessing with <tt>Wave</tt> is highly configurable. You must
 define a few options to control it. Here are a few of the
 options you can define:</p>
 <BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px">
@@ -38,13 +38,13 @@
   </P>
 </BLOCKQUOTE>
 <p>You can access all these processing parameters through the <tt>boost::wave::context</tt>
- object. So you must instantiate one object of this type to use the <tt>Wave</tt>
+ object. So you must instantiate one object instance of this type to use the <tt>Wave</tt>
   library. (For more information about the context template class, please refer
   to the class reference here.) To instantiate
   the <tt>boost::wave::context</tt> object you have to supply at least two template parameters:
   the iterator type of the underlying input stream to use and the type of the lexer iterator to be used as the token source for the preprocessing engine.</p>
 <P dir="ltr">Do not instantiate the main preprocessing iterators yourself.
-Get them from the wave::context object instead.
+Get them from the <tt>boost::wave::context</tt> object instead.
 The following code snippet is taken from the <tt>quick_start</tt> sample, which shows a minimal usage scenario for <tt>Wave</tt>. </P>
 <pre><span class="comment"> // The following preprocesses a given input file.
     // Open the file and read it into a string variable</span>
@@ -115,7 +115,7 @@
 <font size="2">Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </font> </p>
 <span class="updated"></span>
 <p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Wednesday, July 26, 2006 19:28<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 19:06<!-- #EndDate -->
 </span></p>
 </body>
 </html>

Modified: branches/proto/v3/libs/wave/index.html
==============================================================================
--- branches/proto/v3/libs/wave/index.html (original)
+++ branches/proto/v3/libs/wave/index.html 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -10,7 +10,7 @@
   <tr>
     <td width="21"> <h1></h1></td>
     <td width="885"> <font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="6">Wave
- V1.2.4</font></b></font></td>
+ V1.3</font></b></font></td>
     <td width="96"></td>
   </tr>
 </table>
@@ -104,7 +104,7 @@
 <font size="2">Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) </font> </p>
 <span class="updated"></span>
 <p class="copyright"><span class="updated">Last updated:
- <!-- #BeginDate format:fcAm1m -->Tuesday, May 23, 2006 12:37<!-- #EndDate -->
+ <!-- #BeginDate format:fcAm1m -->Sunday, December 2, 2007 18:57<!-- #EndDate -->
 </span></p>
 </body>
 </html>

Modified: branches/proto/v3/status/explicit-failures-markup.xml
==============================================================================
--- branches/proto/v3/status/explicit-failures-markup.xml (original)
+++ branches/proto/v3/status/explicit-failures-markup.xml 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -1487,13 +1487,33 @@
     <!-- function_types -->
     <library name="function_types">
         <mark-expected-failures>
- <test name="nonmember_ccs"/>
- <test name="nonmember_ccs_exact"/>
             <test name="member_ccs"/>
             <test name="member_ccs_exact"/>
             <toolset name="acc*"/>
             <toolset name="hp_cxx*"/>
- <note author="Boris Gubenko" refid="44"/>
+ <toolset name="darwin-4.0.1"/>
+ <toolset name="gcc-4.2.1*"/>
+ <toolset name="msvc_8.0_64"/>
+ <toolset name="intel*"/>
+ <note author="Tobias Schwinger">
+ Not all compilers implement nonstandard calling conventions.
+ <hr/>
+ With GCC/x86 this failure reflects
+ gcc.gnu.org/bugzilla/show_bug.cgi?id=29328 .
+ </note>
+ </mark-expected-failures>
+ <mark-expected-failures>
+ <test name="nonmember_ccs"/>
+ <test name="nonmember_ccs_exact"/>
+ <toolset name="acc*"/>
+ <toolset name="hp_cxx*"/>
+ <toolset name="darwin-4.0.1"/>
+ <toolset name="gcc-4.2.1*"/>
+ <toolset name="msvc_8.0_64"/>
+ <toolset name="intel*"/>
+ <note author="Tobias Schwinger">
+ Not all compilers implement nonstandard calling conventions.
+ </note>
         </mark-expected-failures>
     </library>
 

Modified: branches/proto/v3/tools/build/v2/tools/msvc.jam
==============================================================================
--- branches/proto/v3/tools/build/v2/tools/msvc.jam (original)
+++ branches/proto/v3/tools/build/v2/tools/msvc.jam 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -315,11 +315,11 @@
                     # selected by the "amd64" parameter to vcvarsall.bat.
                     # There are two variables we can use --
                     # PROCESSOR_ARCHITECTURE and PROCESSOR_IDENTIFIER.
- # The first reflects processor proper, and the second is
- # empirically found to be always x86 when using 32-bit
+ # The first is 'x86' when running 32-bit windows,
+ # no matter what processor is, and 'AMD64' on 64-bit
+ # windows on x86 (either AMD64 or EM64T).
                     # windows.
- if [ MATCH ^(AMD64) : [ os.environ PROCESSOR_IDENTIFIER ] ]
- || [ MATCH ^(EM64T) : [ os.environ PROCESSOR_IDENTIFIER ] ]
+ if [ MATCH ^(AMD64) : [ os.environ PROCESSOR_ARCHITECTURE ] ]
                     {
                         setup-option = x86 amd64 x86_ia64 ;
                     }

Modified: branches/proto/v3/tools/build/v2/tools/pgi.jam
==============================================================================
--- branches/proto/v3/tools/build/v2/tools/pgi.jam (original)
+++ branches/proto/v3/tools/build/v2/tools/pgi.jam 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -49,6 +49,7 @@
 generators.register-fortran-compiler pgi.compile.fortran : FORTRAN : OBJ : <toolset>pgi ;
 
 # Declare flags and actions for compilation
+flags pgi.compile OPTIONS : -Kieee ;
 flags pgi.compile OPTIONS <link>shared : -shared -fpic ;
 flags pgi.compile OPTIONS <debug-symbols>on : -g ;
 flags pgi.compile OPTIONS <profiling>on : -xprofile=tcov ;
@@ -93,7 +94,7 @@
 flags pgi.link LINKPATH <library-path> ;
 flags pgi.link FINDLIBS-ST <find-static-library> ;
 flags pgi.link FINDLIBS-SA <find-shared-library> ;
-flags pgi.link FINDLIBS-SA <threading>multi : pthread ;
+flags pgi.link FINDLIBS-SA <threading>multi : pthread rt ;
 flags pgi.link LIBRARIES <library-file> ;
 flags pgi.link LINK-RUNTIME <runtime-link>static : static ;
 flags pgi.link LINK-RUNTIME <runtime-link>shared : dynamic ;

Modified: branches/proto/v3/tools/jam/doc/bjam.qbk
==============================================================================
--- branches/proto/v3/tools/jam/doc/bjam.qbk (original)
+++ branches/proto/v3/tools/jam/doc/bjam.qbk 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -1,6 +1,6 @@
 [article Boost.Jam
     [quickbook 1.3]
- [version: 3.1.16]
+ [version: 3.1.17]
     [authors [Rivera, Rene], [Abrahams, David], [Prus, Vladimir]]
     [copyright 2003 2004 2005 2006 2007 Rene Rivera, David Abrahams, Vladimir Prus]
     [category tool-build]
@@ -21,7 +21,7 @@
 
 [/ Shortcuts ]
 
-[def :version: 3.1.16]
+[def :version: 3.1.17]
 
 [/ Images ]
 

Modified: branches/proto/v3/tools/jam/doc/history.qbk
==============================================================================
--- branches/proto/v3/tools/jam/doc/history.qbk (original)
+++ branches/proto/v3/tools/jam/doc/history.qbk 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -5,6 +5,10 @@
 This is mostly a bug fix release.
 
 [list
+ [li Work around some Windows CMD.EXE programs that will fail executing a totally
+ empty batch file.
+ -- ['Rene R.]
+ ]
     [li Add support for detection and building with =vc9=.
         -- ['John P.]
         ]

Modified: branches/proto/v3/tools/jam/src/boost-jam.spec
==============================================================================
--- branches/proto/v3/tools/jam/src/boost-jam.spec (original)
+++ branches/proto/v3/tools/jam/src/boost-jam.spec 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -1,5 +1,5 @@
 Name: boost-jam
-Version: 3.1.16
+Version: 3.1.17
 Summary: Build tool
 Release: 1
 Source: %{name}-%{version}.tgz

Modified: branches/proto/v3/tools/jam/src/build.jam
==============================================================================
--- branches/proto/v3/tools/jam/src/build.jam (original)
+++ branches/proto/v3/tools/jam/src/build.jam 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -13,7 +13,7 @@
 ./ ?= "" ;
 
 # Info about what we are building.
-_VERSION_ = 3 1 16 ;
+_VERSION_ = 3 1 17 ;
 NAME = boost-jam ;
 VERSION = $(_VERSION_:J=$(.)) ;
 RELEASE = 1 ;

Modified: branches/proto/v3/tools/jam/src/execnt.c
==============================================================================
--- branches/proto/v3/tools/jam/src/execnt.c (original)
+++ branches/proto/v3/tools/jam/src/execnt.c 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -238,7 +238,7 @@
     }
 
     /* Trim leading, -ending- white space */
- while( isspace( *command ) )
+ while( *(command+1) && isspace( *command ) )
         ++command;
 
     /* Write to .BAT file unless the line would be too long and it

Modified: branches/proto/v3/tools/jam/src/patchlevel.h
==============================================================================
--- branches/proto/v3/tools/jam/src/patchlevel.h (original)
+++ branches/proto/v3/tools/jam/src/patchlevel.h 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -9,9 +9,9 @@
 
 #define VERSION_MAJOR 3
 #define VERSION_MINOR 1
-#define VERSION_PATCH 16
+#define VERSION_PATCH 17
 #define VERSION_MAJOR_SYM "03"
 #define VERSION_MINOR_SYM "1"
-#define VERSION_PATCH_SYM "16"
-#define VERSION "3.1.16"
+#define VERSION_PATCH_SYM "17"
+#define VERSION "3.1.17"
 #define JAMVERSYM "JAMVERSION=3.1"

Modified: branches/proto/v3/tools/regression/src/regression.py
==============================================================================
--- branches/proto/v3/tools/regression/src/regression.py (original)
+++ branches/proto/v3/tools/regression/src/regression.py 2007-12-04 02:28:37 EST (Tue, 04 Dec 2007)
@@ -26,7 +26,7 @@
     'trunk' : 'trunk',
     'release' : 'branches/release',
     'build' : 'trunk/tools/build/v2',
- 'jam' : 'tags/tools/jam/Boost_Jam_3_1_15/src',
+ 'jam' : 'tags/tools/jam/Boost_Jam_3_1_16/src',
     'regression' : 'trunk/tools/regression',
     'boost-build.jam'
                     : 'trunk/boost-build.jam'


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