       #define BOOST_SPIRIT_SAFE_BOOL(cond)  ((cond) ? &impl::dummy::nonnull : 0)
       #else
       #define BOOST_SPIRIT_SAFE_BOOL(cond)  (cond)
-*** misc/spirit-1.6.1/boost/spirit/core/scanner/scanner.hpp	2003-07-08 04:19:06.000000000 +0200
---- misc/build/spirit-1.6.1/boost/spirit/core/scanner/scanner.hpp	2005-04-01 15:13:03.769850073 +0200
+*** misc/spirit-1.6.1/boost/spirit/core/scanner/scanner.hpp	Tue Jul  8 04:19:06 2003
+--- misc/build/spirit-1.6.1/boost/spirit/core/scanner/scanner.hpp	Wed Aug 30 15:25:27 2006
 ***************
 *** 18,23 ****
 --- 18,26 ----

  template <typename CondT>
  inline condition_parser<CondT, false>
  operator~(condition_parser<CondT, true> const& p)
*** misc/spirit-1.6.1/boost/spirit/core/impl/match.ipp	2003-07-08 04:19:06.000000000 +0200
--- misc/build/spirit-1.6.1/boost/spirit/core/impl/match.ipp	2005-04-01 15:38:40.744360982 +0200
***************
*** 154,167 ****
              { return nil_t(); }
          };
  

      typedef typename boost::call_traits<IteratorT>::param_type
          iter_param_t;
  
*** misc/spirit-1.6.1/miniboost/boost/optional.hpp	Tue Jul  8 04:19:09 2003
--- misc/build/spirit-1.6.1/miniboost/boost/optional.hpp	Wed Aug 30 15:25:27 2006
***************
*** 17,22 ****
--- 17,27 ----
  #ifndef BOOST_OPTIONAL_FLC_19NOV2002_HPP
  #define BOOST_OPTIONAL_FLC_19NOV2002_HPP
  
+ #if defined _MSC_VER
+ #pragma warning(push)
+ #pragma warning(disable: 4668) // "id is not defined as a preprocessor macro"
+ #endif
+ 
  #include<new>
  #include<algorithm>
  
***************
*** 194,200 ****
--- 199,209 ----
  
      // implicit conversion to "bool"
      // No-throw
+ #if defined(__SUNPRO_CC) // workaround opt bug when compiling with -xO3
+     operator bool() const { return m_initialized; }
+ #else
      operator unspecified_bool_type() const { return m_initialized ? &this_type::destroy : 0 ; }
+ #endif // defined(__SUNPRO_CC)
  
         // This is provided for those compilers which don't like the conversion to bool
         // on some contexts.
***************
*** 313,317 ****
--- 322,330 ----
  
  } // namespace boost
  
+ #if defined _MSC_VER
+ #pragma warning(pop)
  #endif
+ 
+ #endif
  
*** misc/spirit-1.6.1/miniboost/boost/scoped_array.hpp	Tue Jul  8 04:19:08 2003
--- misc/build/spirit-1.6.1/miniboost/boost/scoped_array.hpp	Wed Aug 30 15:25:27 2006
***************
*** 83,88 ****
--- 83,91 ----
  
      // implicit conversion to "bool"
  
+ #if defined(__SUNPRO_CC) // workaround opt bug when compiling with -xO3
+     operator bool() const { return ptr != 0; }
+ #else
      typedef T * (this_type::*unspecified_bool_type)() const;
  
      operator unspecified_bool_type() const // never throws
***************
*** 89,94 ****
--- 92,98 ----
      {
          return ptr == 0? 0: &this_type::get;
      }
+ #endif // defined(__SUNPRO_CC)
  
      bool operator! () const // never throws
      {
*** misc/spirit-1.6.1/miniboost/boost/scoped_ptr.hpp	Tue Jul  8 04:19:08 2003
--- misc/build/spirit-1.6.1/miniboost/boost/scoped_ptr.hpp	Wed Aug 30 15:25:27 2006
***************
*** 102,107 ****
--- 102,110 ----
  
      // implicit conversion to "bool"
  
+ #if defined(__SUNPRO_CC) // workaround opt bug when compiling with -xO3
+     operator bool() const { return ptr != 0; }
+ #else
      typedef T * (this_type::*unspecified_bool_type)() const;
  
      operator unspecified_bool_type() const // never throws
***************
*** 108,113 ****
--- 111,117 ----
      {
          return ptr == 0? 0: &this_type::get;
      }
+ #endif // defined(__SUNPRO_CC)
  
      bool operator! () const // never throws
      {
*** misc/spirit-1.6.1/miniboost/boost/shared_array.hpp	Tue Jul  8 04:19:08 2003
--- misc/build/spirit-1.6.1/miniboost/boost/shared_array.hpp	Wed Aug 30 15:25:27 2006
***************
*** 94,99 ****
--- 94,102 ----
  
      // implicit conversion to "bool"
  
+ #if defined(__SUNPRO_CC) // workaround opt bug when compiling with -xO3
+     operator bool() const { return px != 0; }
+ #else
      typedef T * (this_type::*unspecified_bool_type)() const;
  
      operator unspecified_bool_type() const // never throws
***************
*** 100,105 ****
--- 103,109 ----
      {
          return px == 0? 0: &this_type::get;
      }
+ #endif // defined(__SUNPRO_CC)
  
      bool operator! () const // never throws
      {
*** misc/spirit-1.6.1/miniboost/boost/shared_ptr.hpp	Tue Jul  8 04:19:08 2003
--- misc/build/spirit-1.6.1/miniboost/boost/shared_ptr.hpp	Wed Aug 30 15:25:27 2006
***************
*** 35,41 ****
  
  #ifdef BOOST_MSVC  // moved here to work around VC++ compiler crash
  # pragma warning(push)
! # pragma warning(disable:4284) // odd return type for operator->
  #endif
  
  namespace boost
--- 35,41 ----
  
  #ifdef BOOST_MSVC  // moved here to work around VC++ compiler crash
  # pragma warning(push)
! # pragma warning(disable: 4668) // "id is not defined as a preprocessor macro"
  #endif
  
  namespace boost
***************
*** 246,251 ****
--- 246,254 ----
  
      // implicit conversion to "bool"
  
+ #if defined(__SUNPRO_CC) // workaround opt bug when compiling with -xO3
+     operator bool() const { return px != 0; }
+ #else
      typedef T * (this_type::*unspecified_bool_type)() const;
  
      operator unspecified_bool_type() const // never throws
***************
*** 252,257 ****
--- 255,261 ----
      {
          return px == 0? 0: &this_type::get;
      }
+ #endif // defined(__SUNPRO_CC)
  
      // operator! is redundant, but some compilers need it
  
*** misc/spirit-1.6.1/miniboost/boost/throw_exception.hpp	Tue Jul  8 04:19:08 2003
--- misc/build/spirit-1.6.1/miniboost/boost/throw_exception.hpp	Wed Aug 30 15:25:27 2006
***************
*** 29,35 ****
  
  #ifdef BOOST_NO_EXCEPTIONS
  
! void throw_exception(std::exception const & e); // user defined
  
  #else
  
--- 29,36 ----
  
  #ifdef BOOST_NO_EXCEPTIONS
  
! // void throw_exception(std::exception const & e); // user defined
! inline void throw_exception(std::exception const &) {}
  
  #else
  
*** misc/spirit-1.6.1/miniboost/boost/config/user.hpp	Tue Jul  8 04:19:08 2003
--- misc/build/spirit-1.6.1/miniboost/boost/config/user.hpp	Wed Aug 30 15:25:27 2006
***************
*** 66,68 ****
--- 66,74 ----
  // #define BOOST_DISABLE_WIN32
  
  
+ // Switch off exception statements if file is compiled without
+ // exception support:
+ #if defined(EXCEPTIONS_OFF) && !defined(BOOST_NO_EXCEPTIONS)
+ #define BOOST_NO_EXCEPTIONS
+ #endif
+ 
*** misc/spirit-1.6.1/miniboost/boost/config/compiler/gcc.hpp	Tue Jul  8 04:19:08 2003
--- misc/build/spirit-1.6.1/miniboost/boost/config/compiler/gcc.hpp	Wed Aug 30 15:25:27 2006
***************
*** 59,65 ****
  #endif
