From 82316085276a71c639427b420b45fcaa95580fe3 Mon Sep 17 00:00:00 2001 From: Bruce Allen Date: Thu, 20 Mar 2014 09:24:13 -0700 Subject: [PATCH 1/2] fix compiler warning --- src/detail/buffer_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/detail/buffer_manager.cpp b/src/detail/buffer_manager.cpp index abb0012..1ef5dc4 100644 --- a/src/detail/buffer_manager.cpp +++ b/src/detail/buffer_manager.cpp @@ -104,7 +104,7 @@ void buffer_manager::data_size(data_size_type sz) m_data_size = sz; offset_type file_size = binary_file::seek(0, seekdir::end); m_buffer_count = static_cast(file_size / sz); - if (m_buffer_count * sz != file_size) + if (file_size < 0 || m_buffer_count * sz != (std::size_t)file_size) BOOST_BUFFER_FILE_THROW(buffer_manager_error( "buffer_manager_error: file size error; too large or not multiple of data size: ", binary_file::path())); From 783ea4a55eaad3b1efd57a7776aaedbcfe2b233c Mon Sep 17 00:00:00 2001 From: Bruce Allen Date: Thu, 20 Mar 2014 09:26:16 -0700 Subject: [PATCH 2/2] provide workaround for i686-apple-darwin11-llvm-g++-4.2 (gcc)4.2.1 compiler issue --- include/boost/btree/detail/index_bases.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/boost/btree/detail/index_bases.hpp b/include/boost/btree/detail/index_bases.hpp index 89668c0..e9d3c2a 100644 --- a/include/boost/btree/detail/index_bases.hpp +++ b/include/boost/btree/detail/index_bases.hpp @@ -515,7 +515,11 @@ class index_base : public Base, private noncopyable friend class index_base; index_iterator_type m_index_iterator; - file_type* m_file; // 0 for end iterator +// use original type "boost::btree::extendible_mapped_file" +// instead of typedef type "file_type" to avoid trouble +// with the i686-apple-darwin11-llvm-g++-4.2 (gcc)4.2.1 compiler +// file_type* m_file; // 0 for end iterator + boost::btree::extendible_mapped_file* m_file; // 0 for end iterator Reference dereference() const {