Opened 8 years ago

Closed 8 years ago

#7265 closed enhancement (fixed)

boost_1_60_0

Reported by: Fernando de Oliveira Owned by: Fernando de Oliveira
Priority: normal Milestone: 7.9
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

http://downloads.sourceforge.net/boost/boost_1_60_0.tar.bz2

http://www.boost.org/users/news/#iversion_1_60_0

Version 1.60.0

December 17th, 2015 15:52 GMT

New Libraries: VMD Updated Libraries: Atomic, Chrono, Container,
Context, Core, Filesystem, Flyweight, Fusion, Interprocess, Intrusive,
Lexical Cast, Locale, Log, Move, Multi-index Containers, odeint,
Optional, Predef, Test, Thread, UUID.

Detailed Release Notes:

http://www.boost.org/users/history/version_1_60_0.html

Version 1.60.0

December 17th, 2015 15:52 GMT

New Libraries

 VMD: Variadic Macro Data library, from Edward Diener.

Updated Libraries

 Atomic:
 ◦ Enforced proper alignment of atomic<> storage. This should fix
   possible issues on platforms that support atomic operations on data
   units larger than the native word size. This may also change binary
   layout of user's data structures that have atomic<> members.
 ◦ Fixed compilation for PowerPC with IBM XL C++ compiler. Corrected
   memory barriers in PowerPC assembler.
 ◦ Fixed compilation with MSVC-8 for ARM.
 ◦ Fixed compilation with gcc 4.4 for x86-64, when 128-bit atomic
   operations were used. (#10994)
 ◦ Optimized some gcc assembler blocks for x86/x86-64 to reduce the
   number of used registers. This may require binutils 2.10 or later.

   Chrono - 2.0.5:
 ◦ Fixes:
   ◦ #10778 VC14 CTP4 Atomic don't compile with boost::chrono durations
     which are not TriviallyCopyable
   ◦ #10840 Missing std:: qualifier for puts call in test_7868.cpp
   ◦ #10851 Missing std:: qualifier for puts call in
     time_point_output.cpp
   ◦ #10893 Minor doc typo in Boost.Chrono
   ◦ #10992 Chrono IO state savers inconsistent with Boost.IO state
     savers
   ◦ #10995 duration_put::put_value truncates fractional part
   ◦ #11006 Impossible to instantiate time_fmt_io_saver due to several
     errors.
   ◦ #11012 chrono_io v2 fail to compile with boost::chrono::duration<
     boost::rational<int> >

 Container:
 ◦ Implemented Polymorphic Memory Resources.
 ◦ Add more BOOST_ASSERT checks to test preconditions in some operations
   (like pop_back, pop_front, back, front, etc.)
 ◦ Added C++11 back/front operations to basic_string.
 ◦ Fixed bugs:
   ◦ Trac #11627: "small_vector<T,n>::swap() appears to be broken".
   ◦ Trac #11628: "small_vector<int,n> iterates over elements in
     destructor".
   ◦ Trac #11697: "Wrong initialization order in tuple
     copy-constructor".
   ◦ Trac #11698: "Missing return statement in
     static_storage_allocator".
   ◦ GitHub #29: Doc fixes for flap_map complexity requirements.
   ◦ GitHub #31: DL_SIZE_IMPL also dereference addr.

 Context:
 ◦ #11603 typo in PPC32/MACH-O asm
 ◦ support for CYGWIN
 
 Core:
 ◦ In symbol demangling tools, added support for gabi++ ABI
   implementation used in Android NDK.
 ◦ Added a new enable_if_has_type tool for performing SFINAE checks for
   presence of a nested type.

Filesystem:
 ◦ New Features:
   ◦ Added functions lexically_normal, lexically_relative, relative, and
     weakly_canonical. Many thanks to Jamie Allsop for his help and
     perseverance. Resolves tickets #1976, #5897, #6249.
   ◦ Class path added types reverse_iterator and const_reverse_iterator,
     and added functions rbegin(), and rend().
   ◦ C++11 noexcept supplied as specified in the Filesystem TS if
     supported by the compiler.
   ◦ C++11 move constructors and move assignments supplied as specified
     in the Filesystem TS if supported by the compiler. Resolves #10291.
   ◦ Existing functions whose names changed in the Filesystem TS are now
     supported under both the old and new names.
   ◦ Added size() function to class path. Resolves #6874, Path should
     have a size() member function.
 ◦ Tickets:
   ◦ Fix #11733, Missing unistd.h include in
     boost/libs/filesystem/src/unique_path.cpp, by apply a patch from
     Idar Tollefsen.
   ◦ Fix #5706, unique_path Fails on Windows for Temporary User
     Profiles, by applying pull request #15 from Sebastian Redl to fix a
     race condition in unique_path.
   ◦ Fix #10591, boost::filesystem does not build on iOS 8, by applying
     a patch submitted by Daniel Seither.
   ◦ Fix #9454, Boost Filesystem [library build] not compiling when
     BOOST_FILESYSTEM_NO_DEPRECATED is defined, by applying a patch
     submitted by Makesim.
   ◦ Fix #11447, __OpenBSD__ macro name misspelled, by applying a patch
     submitted by Jasper Lievisse Adriaanse.
   ◦ Fix #11288, A patch to avoid redundant string allocations, by
     applying a patch submitted by Yevhen Ivannikov.
   ◦ Resolve #11175, out-of-date documentation causing users to
     incorrectly expect that the library could be used with exceptions
     disabled.
   ◦ Resolve #11166, by mitigating (i.e. reducing the likelihood of) a
     possible external file system race in remove().
   ◦ Fix #7258, create_directories returns false if the path ends with a
     slash. Also fix related issues if path contains dot or dot-dot
     elements, and added test cases to the test suite.
   ◦ Resolve #10766, parent_path() with redundant separator returns
     wrong value, by adding examples and notes to the reference
     documentation to show why the returned value is in fact correct,
     and to provide rationale for that behavior. See path.itr, and
     path.decompose parent_path() and filename() sections of the
     reference docs.
   ◦ Close #7607, path should not infer an invisible "." at the end of a
     path that ends with a slash, as resolved by #7258 and #10766.
   ◦ Close #11061, #11062, Impossible to traverse the path of the
     reverse iterator, as effectively resolved by the addition of the
     class path reverse iteration feature. The reference documentation
     has also been updated with a note warning about the limitations of
     class path iterators.
 ◦ Other fixes:
   ◦ Clear several spurious GCC warnings.
   ◦ Fix bug in file_status and recursive_directory_iterator: C++ turns
     an explicit constructor with all arguments except first defaulted
     into non-explicit single argument constructor.
   ◦ Apply Reference docs editorial cleanups: Use same style sheet as
     the rest of the documentation. Tweak tab font size. Fix excessively
     long lines in tables, synopsis.
   ◦ Minor fixes, including pull requests from Jonathan Wakely and
     Marcel Raad.

 Flyweight:
 ◦ Maintenance fixes.
 
 Fusion:
 ◦ All of fusion containers and generators now support C++11 variadic
   templates. (pull-request 89, pull-request 97, pull-request 100)
   ◦ Special notice for fusion::vector
     ◦ Due to implementation limitation, numbered form (i.e.
         fusion::vectorN) is provided via C++11 aliasing templates and
         deprecated in C++11 or later. In this case, you should check
         BOOST_FUSION_HAS_VARIADIC_VECTOR macro and switch usage because
         some partial specialization would become compile error (e.g.
         pull-request for Spirit).
 ◦ fusion::nview now support C++11 variadic templates. (pull-request 90)
 ◦ fusion::fold is now SFINAE-friendly. (pull-request 102)
 ◦ Bug fixes:
   ◦ The generic fusion sequence convert to a deque fails with a
     compiler error. (#11572)
   ◦ (doc) Return type of functions incorrect. (#3358)

 Interprocess:
 ◦ Improved offset_ptr performance and removed any undefined behaviour.
   No special cases needed for different compilers.
 ◦ Fixed bugs:
   ◦ Trac #11699 ("Forward declarations of std templates causes stack
     corruption under Visual Studio 2015").

 Intrusive:
 ◦ Advanced lookup and insertions in ordered associative containers now
   support comparison functions that are not required to offer the same
   strict weak ordering as key_compare, the container must be
   partitioned in regards to the passed comparison object.
 ◦ Fixed bugs:
   ◦ Boost Trac #11701: Regression in boost::intrusive::set::equal_range
   ◦ Boost Trac #11765: sgtree.hpp:830: bad if test ?

 Lexical Cast:
 ◦ Fixed usage of lexical_cast with move only types #11570
 ◦ Fixed crash when BOOST_LCAST_NO_COMPILE_TIME_PRECISION is defined
   #11669
 ◦ Suppress some of the warning reported in #11570 and #4946

 Locale:
 ◦ Implemented generic codecvt facet and add general purpose
   utf8_codecvt facet
 ◦ Added posix locale support for FreeBSD 10.0 and above
 ◦ Fixed issues #10017 (sun redefinition on SunOS), #11163
   (set_default_messages_domain incorrect behavior), #11673 build issues
 ◦ Some warning cleanup
 ◦ Fixed tests for latest ICU versions
 ◦ Added workaround for libc++ issues
 ◦ Added new defines BOOST_LOCALE_ENABLE_CHAR16_T and
   BOOST_LOCALE_ENABLE_CHAR32_T to enable C++11 char16_t and char32_t
   instead of deprecated ones

 Log:
 ◦ General changes:
   ◦ On Windows, the configuration macro BOOST_LOG_USE_WINNT6_API is no
     longer used by the library. The target Windows version should be
     configured by defining macro BOOST_USE_WINAPI_VERSION.
 ◦ Bug fixes:
   ◦ Fixed compilation for Android using Google NDK. (#11559)
   ◦ Fixed compilation of some logging statements, where the first
     object to be put into stream is not directly supported by
     formatting_ostream. (#11549)
   ◦ Added a workaround for Solaris Studio 12.4, which should fix the
     compilation of formatting_ostream. (#11545)
   ◦ Fixed compilation when native wchar_t type is disabled. (#11541)
   ◦ Fixed exporting symbols from the boost_log_setup library on
     POSIX-like systems.
   ◦ Fixed compilation of character decorators.
   ◦ Added a workaround for incorrect file name generation in text file
     sink backend, when the file name contains date/time placeholders.
     (#11691)
 ◦ See changelog for more details.

 Move:
 ◦ Fixed bug Trac #11615: "Boost.Move should use the qualified name for
   std::size_t in type_traits.hpp",

 Multi-index Containers:
 ◦ Fixed an interoperability problem with Qt due to the optional
   definition of a macro with name foreach in this framework.
 ◦ Maintenance fixes.

 odeint:
 ◦ New features:
   ◦ Added functionality to throw an exception if too many ODE steps are
     performed.
   ◦ Added possibility to limit maximal step size in adaptive methods.
 ◦ several Bug fixes, see
   https://github.com/headmyshoulder/odeint-v2/issues

 Optional:
 ◦ Changed the implementation of boost::none again. Now it is a const
   object with internal linkage (as any other tag). This fixes #11203.

 Predef:
 ◦ Add detection of SIMD hardware.
 ◦ See history for more details.

 Test:
 ◦ Boost.test v3.1 see the 'Change log' section for details.
 ◦ New features
   ◦ Improved Command Line Interface
   ◦ Improved dataset API
 ◦ Bug fixes
   ◦ #3384, #3897, #6032, #6859, #7257
   ◦ #9228, #10317, #11279, #11478
   ◦ #11571, #11623, #11624, #11625

 Thread - 4.6.0: New Experimental
     Features:
 ◦ #11231 Allow to set continuation future's destructor behavior to
   non-blocking
 ◦ #11424 Provide shared_timed_mutex as an alternative name for
   shared_mutex and deprecate the use of shared_mutex as a timed mutex
 ◦ #11734 future::then(Cont) should be able to execute the contination
   on undetermined thread
 ◦ #11736 Allow to use launch::executor on
   future::then(launch::executor, cont)
 ◦ #11737 Add a launch::inherit policy that can be used on ::then() to
   use the policy of the parent future Fixed Bugs:
 ◦ #3926 thread_specific_ptr + dlopen library causes a SIGSEGV.
 ◦ #6377 Condition variable blocks when changing time
 ◦ #6787 boost::thread::sleep() hangs if system time is rolled back
 ◦ #7665 this_thread::sleep_for no longer uses steady_clock in thread
 ◦ #7720 exception lock_error while intensive locking/unlocking of mutex
 ◦ #9309 test_latch fails often on clang-darwin-tot11
 ◦ #10788 GetLogicalProcessor isn't available for Windows platform less
   or equals to 0x0502
 ◦ #11090 ex_future_unwrap- ThreadSanitizer: lock-order-inversion
   (potential deadlock)
 ◦ #11158 Pthread thread deadlock when faketime used
 ◦ #11174 boost::condition_variable::timed_wait with predicate
   unexpectedly wakes up while should wait infinite
 ◦ #11185 Incorrect URL redirection
 ◦ #11192 boost::future<>::then() with an executor doesn't compile when
   the callback returns a future
 ◦ #11250 future made from make_exceptional fails on assertion in
   destructor
 ◦ #11256 future<>::is_ready() == false in continuation function
 ◦ #11261 bad use of scoped threads in basic_thread_pool
 ◦ #11262 bad use of direct pointer in shared_state_nullary_task
 ◦ #11263 lock already locked lock
 ◦ #11266 boost::packaged_task has invalid variadic signature
 ◦ #11302 boost thread doesn't build with BOOST_THREAD_PATCH.
 ◦ #11322 sleep_for() nanoseconds overload will always return too early
   on windows
 ◦ #11329 using declarative for GetProcessHeap, .... fails
 ◦ #11368 boost thread's usage of CreateWaitableTimer wakes PC from
   sleep (doh)
 ◦ #11377 Boost condition variable always waits for system clock
   deadline
 ◦ #11435 gcc compiler warning in future.hpp
 ◦ #11555 devector.hpp assumes allocator_traits_type is always present
 ◦ #11562 Timer (using steady_clock) expires after computer time is set
   forward on Ubuntu 64-bit
 ◦ #11672 Thread: Should use unique_ptr, not auto_ptr
 ◦ #11688 thread::try_join_until: Avoid busy wait if system clock
   changes
 ◦ #11716 ::then(f) should inherit the parent Executor

 UUID:
 ◦ Added a workaround for MSVC codegen bug that could cause crashes when
   comparing UUIDs.
 ◦ Added detection of AVX being enabled with MSVC compiler switches.

News

Compilers Tested

Boost's primary test compilers are:

 Linux:
 ◦ Clang: 3.4, 3.6
 ◦ Clang, C++14: 3.7
 ◦ GCC: 4.4.7, 4.8.4, 4.9.3, 5.1.0, 5.2.1
 ◦ GCC, C++11: 4.4.7
 ◦ GCC, C++14: 4.9.3

Boost's additional test compilers include:

 Linux:
 ◦ Clang: 3.0, 3.1, 3.2, 3.3, 3.4.2, 3.6.0, 3.8.0
 ◦ Clang, C++14: 3.7.0
 ◦ GCC: 4.4.7, 4.5.3, 4.6.4, 4.7.3, 4.8.1, 4.9.3, 5.1.0, 6.0.0
 ◦ GCC, C++11: 4.4.7
 ◦ GCC, C++14: 4.9.3, 5.2.1
 ◦ IBM XL C++: 13.1.2.0
 ◦ Intel: 16.0

Change History (2)

comment:1 by Fernando de Oliveira, 8 years ago

Owner: changed from blfs-book@… to Fernando de Oliveira
Status: newassigned

comment:2 by Fernando de Oliveira, 8 years ago

Resolution: fixed
Status: assignedclosed

Ken, LibreOffice-5.0.4 is currently, broken with boost-1.60.0.

Fixed at r16741.

Note: See TracTickets for help on using tickets.