$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: john.groups_at_[hidden]
Date: 2007-10-30 10:06:20
Author: jtorjo
Date: 2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
New Revision: 40606
URL: http://svn.boost.org/trac/boost/changeset/40606
Log:
[logging]
v0.9.5, 30 oct 2007
- compiles with gcc 4.1 and 4.3 
  (note: I just solved some errors that were pointed out by Jens Seidel, not sure if this fixed everything)
Properties modified: 
   sandbox/logging/lib/logging/samples/gcc/   (props changed)
Text files modified: 
   sandbox/logging/boost/logging/changelog.hpp                        |     4 ++++                                    
   sandbox/logging/boost/logging/detail/log_keeper.hpp                |    10 ++++++++--                              
   sandbox/logging/boost/logging/detail/manipulator.hpp               |     2 +-                                      
   sandbox/logging/boost/logging/detail/raw_doc/acknowledgments.hpp   |     1 +                                       
   sandbox/logging/boost/logging/format.hpp                           |     2 +-                                      
   sandbox/logging/boost/logging/format/destination/file.hpp          |     2 ++                                      
   sandbox/logging/boost/logging/format/destination/rolling_file.hpp  |     3 ++-                                     
   sandbox/logging/boost/logging/format/destination/shared_memory.hpp |     4 ++++                                    
   sandbox/logging/boost/logging/format/formatter/convert_format.hpp  |     2 +-                                      
   sandbox/logging/boost/logging/format/formatter/defaults.hpp        |     2 ++                                      
   sandbox/logging/boost/logging/format/formatter/time.hpp            |     3 ++-                                     
   sandbox/logging/boost/logging/format/op_equal.hpp                  |     1 +                                       
   sandbox/logging/boost/logging/ts/ts_boost.hpp                      |     2 +-                                      
   sandbox/logging/boost/logging/writer/ts_write.hpp                  |     4 +++-                                    
   14 files changed, 33 insertions(+), 9 deletions(-)
Modified: sandbox/logging/boost/logging/changelog.hpp
==============================================================================
--- sandbox/logging/boost/logging/changelog.hpp	(original)
+++ sandbox/logging/boost/logging/changelog.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -1,6 +1,10 @@
 /** 
 @page page_changelog Changelog
 
+v0.9.5, 30 oct 2007
+- compiles with gcc 4.1 and 4.3 
+  (note: I just solved some errors that were pointed out by Jens Seidel, not sure if this fixed everything)
+
 v0.9.4, 30 oct 2007
 - compiles with gcc 3.4.2
 
Modified: sandbox/logging/boost/logging/detail/log_keeper.hpp
==============================================================================
--- sandbox/logging/boost/logging/detail/log_keeper.hpp	(original)
+++ sandbox/logging/boost/logging/detail/log_keeper.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -22,6 +22,7 @@
 #endif
 
 #include <boost/logging/detail/fwd.hpp>
+#include <boost/cstdint.hpp>
 
 namespace boost { namespace logging {
 
@@ -50,10 +51,15 @@
 
     struct fake_using_log {
         template<class type> fake_using_log( type & log) {
-            long long ignore = reinterpret_cast<long long>(&log);
+#ifndef BOOST_NO_INT64_T
+        typedef boost::int64_t long_type ;
+#else
+        typedef long long_type ;
+#endif
+            long_type ignore = reinterpret_cast<long_type>(&log);
             // we need to force the compiler to force creation of the log
             if ( time(0) < 0)
-                if ( time(0) < ignore) {
+                if ( time(0) < (time_t)ignore) {
                     printf("LOGGING LIB internal error - should NEVER happen. Please report this to the author of the lib");
                     exit(0);
                 }
Modified: sandbox/logging/boost/logging/detail/manipulator.hpp
==============================================================================
--- sandbox/logging/boost/logging/detail/manipulator.hpp	(original)
+++ sandbox/logging/boost/logging/detail/manipulator.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -305,7 +305,7 @@
     @brief When you implement your manipulator class, how is operator== to be implemented?
 */
 struct implement_op_equal {
-    typedef enum type {
+    enum type {
         /// manipulator has no context - that is, any two values of this type are considered equal (operator== will automatically return true)
         no_context,
         /// manipulator has context - that is, you <b>have to</b> implement operator== in your manipulator class
Modified: sandbox/logging/boost/logging/detail/raw_doc/acknowledgments.hpp
==============================================================================
--- sandbox/logging/boost/logging/detail/raw_doc/acknowledgments.hpp	(original)
+++ sandbox/logging/boost/logging/detail/raw_doc/acknowledgments.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -12,6 +12,7 @@
 - Stefan Slapeta and Bill Wade and a lot of others for giving me early feedback.
 - Pavel Vozelinek - for very thourough reviews and lots of comments
 - Pavel Savara - for feedback about docs, thread-safety and gcc
+- Jens Seidel - for helping me with issues with gcc (different versions), and extra feedback
 
 */
 
Modified: sandbox/logging/boost/logging/format.hpp
==============================================================================
--- sandbox/logging/boost/logging/format.hpp	(original)
+++ sandbox/logging/boost/logging/format.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -385,7 +385,7 @@
         */
         class route {
             friend class with_route;
-            typedef enum type {
+            enum type {
                 is_fmt, is_dest, is_clear
             };
             struct item {
Modified: sandbox/logging/boost/logging/format/destination/file.hpp
==============================================================================
--- sandbox/logging/boost/logging/format/destination/file.hpp	(original)
+++ sandbox/logging/boost/logging/format/destination/file.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -82,6 +82,8 @@
     @brief Writes the string to a file
 */
 template<class convert_dest = do_convert_destination > struct file_t : is_generic, non_const_context<detail::file_info> {
+    typedef non_const_context<detail::file_info> non_const_context_base;
+
     /** 
         @brief constructs the file destination
 
Modified: sandbox/logging/boost/logging/format/destination/rolling_file.hpp
==============================================================================
--- sandbox/logging/boost/logging/format/destination/rolling_file.hpp	(original)
+++ sandbox/logging/boost/logging/format/destination/rolling_file.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -103,7 +103,7 @@
 
         template<class msg_type> void write( const msg_type& msg) {
             convert_dest::write(msg, (*m_out) );
-            if ( m_out->ftellg() > m_flags.max_size_bytes()) {
+            if ( m_out->tellg() > m_flags.max_size_bytes()) {
                 m_cur_idx = (m_cur_idx + 1) % m_flags.file_count();
                 recreate_file();
             }            
@@ -126,6 +126,7 @@
     And so on, until we reach name_prefix.N (N = file_count). When that gets fool, we start over, with name_prefix.1.
 */
 template<class convert_dest = do_convert_destination > struct rolling_file_t : is_generic, non_const_context<detail::rolling_file_info<convert_dest> > {
+    typedef non_const_context<detail::rolling_file_info<convert_dest> > non_const_context_base;
 
     /** 
         Constructs a rolling file
Modified: sandbox/logging/boost/logging/format/destination/shared_memory.hpp
==============================================================================
--- sandbox/logging/boost/logging/format/destination/shared_memory.hpp	(original)
+++ sandbox/logging/boost/logging/format/destination/shared_memory.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -21,6 +21,8 @@
 # pragma once
 #endif
 
+#if 0
+
 #include <boost/logging/detail/fwd.hpp>
 #include <boost/shmem/shmem_named_shared_object.hpp>
 
@@ -131,3 +133,5 @@
 
 #endif
 
+#endif
+
Modified: sandbox/logging/boost/logging/format/formatter/convert_format.hpp
==============================================================================
--- sandbox/logging/boost/logging/format/formatter/convert_format.hpp	(original)
+++ sandbox/logging/boost/logging/format/formatter/convert_format.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -52,7 +52,7 @@
     namespace prepend {
         inline void write(const char_type * src, string_type & dest ) {
             const char_type * end = src;
-            for ( ; *end; ++end);
+            for ( ; *end; ++end) {}
             dest.insert( dest.begin(), src, end);
         }
         inline void write(const string_type & src, string_type & dest) {
Modified: sandbox/logging/boost/logging/format/formatter/defaults.hpp
==============================================================================
--- sandbox/logging/boost/logging/format/formatter/defaults.hpp	(original)
+++ sandbox/logging/boost/logging/format/formatter/defaults.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -51,6 +51,8 @@
 For instance, you might use @ref boost::logging::optimize::cache_string_one_str "a cached_string class" (see @ref boost::logging::optimize "optimize namespace").
 */
 template<class convert = do_convert_format::prepend> struct idx_t : is_generic, formatter::non_const_context<int>, boost::logging::op_equal::always_equal  {
+    typedef formatter::non_const_context<int> non_const_context_base;
+
     idx_t() : non_const_context_base((int)0) {}
     template<class msg_type> void operator()(msg_type & str) const {
         std::basic_ostringstream<char_type> idx;
Modified: sandbox/logging/boost/logging/format/formatter/time.hpp
==============================================================================
--- sandbox/logging/boost/logging/format/formatter/time.hpp	(original)
+++ sandbox/logging/boost/logging/format/formatter/time.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -88,11 +88,12 @@
         if ( month_idx != hold_string_type::npos)
             indexes.push_back( index_info(month_idx, &m_month) );
 
-        if ( yy_idx != hold_string_type::npos || yyyy_idx != hold_string_type::npos)
+        if ( yy_idx != hold_string_type::npos || yyyy_idx != hold_string_type::npos) {
             if ( yyyy_idx  != hold_string_type::npos)
                 indexes.push_back( index_info(yyyy_idx, &m_yyyy, 4) );
             else
                 indexes.push_back( index_info(yy_idx, &m_yy) );
+        }
 
         if ( hour_idx != hold_string_type::npos)
             indexes.push_back( index_info(hour_idx, &m_hour ) );
Modified: sandbox/logging/boost/logging/format/op_equal.hpp
==============================================================================
--- sandbox/logging/boost/logging/format/op_equal.hpp	(original)
+++ sandbox/logging/boost/logging/format/op_equal.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -38,6 +38,7 @@
         virtual bool equals(const same_type_op_equal_top &) const = 0;
     protected:
         same_type_op_equal_top() {}
+        virtual ~same_type_op_equal_top() {}
         same_type_op_equal_top(const same_type_op_equal_top&) {}
     };
     inline bool operator ==(const same_type_op_equal_top& a, const same_type_op_equal_top&b) { return a.equals(b); }
Modified: sandbox/logging/boost/logging/ts/ts_boost.hpp
==============================================================================
--- sandbox/logging/boost/logging/ts/ts_boost.hpp	(original)
+++ sandbox/logging/boost/logging/ts/ts_boost.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -29,7 +29,7 @@
 namespace threading {
 
     typedef boost::mutex mutex_boost;
-    typedef typename mutex::scoped_lock scoped_lock_boost;
+    typedef mutex::scoped_lock scoped_lock_boost;
 }
 
 }}
Modified: sandbox/logging/boost/logging/writer/ts_write.hpp
==============================================================================
--- sandbox/logging/boost/logging/writer/ts_write.hpp	(original)
+++ sandbox/logging/boost/logging/writer/ts_write.hpp	2007-10-30 10:06:19 EDT (Tue, 30 Oct 2007)
@@ -70,7 +70,9 @@
 
 @sa on_dedicated_thread
 */
-    template<class base_type> struct ts_write : base_type, non_const_context<ts_write_context> {
+    template<class base_type> struct ts_write : base_type, non_const_context<detail::ts_write_context> {
+        typedef non_const_context<detail::ts_write_context> non_const_context_base;
+
         BOOST_LOGGING_FORWARD_CONSTRUCTOR(ts_write,base_type)
 
         template<class msg_type> void operator()(msg_type msg) const {