Boost logo

Boost :

Subject: Re: [boost] [1.53.0] Beta release candidates 2 now available for testing
From: Marshall Clow (mclow.lists_at_[hidden])
Date: 2013-01-05 12:37:56

On Jan 4, 2013, at 11:25 AM, Marshall Clow <mclow.lists_at_[hidden]> wrote:

> Updated release candidate files for 1.53.0 beta 1 are available at
> As always, the release managers would appreciate it if you download
> the candidate of your choice and give building it a try. Please report
> both success and failure, and anything else that is noteworthy.

I built the RC on Mac OS X with both clang and gcc w/o errors.
However, when I built using clang and libc++ in C++11 mode, I found two problems:

        ./b2 toolset=clang cxxflags="-std=c++11 -stdlib=libc++ -Wno-unused-variable" linkflags="-stdlib=libc++"

Issue #1:

> clang-darwin.compile.c++ bin.v2/libs/chrono/build/clang-darwin-11/release/threading-multi/chrono.o
> In file included from libs/chrono/src/chrono.cpp:14:
> In file included from ./boost/chrono/detail/inlined/chrono.hpp:13:
> In file included from ./boost/chrono/chrono.hpp:11:
> ./boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression
> ^
> ./boost/chrono/duration.hpp:355:21: note: non-constexpr function 'max' cannot be used in a constant expression
> return -(std::numeric_limits<float>::max) ();
> ^
> /usr/bin/../lib/c++/v1/limits:443:43: note: declared here
> _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT {return __base::max();}
> ^

This is a bug in libc++; std::numeric_limits<>::max() is not marked as constexpr.
This has been fixed in the libc++ trunk, and should appear in the next clang/libc++ release.

Issue #2:

> clang-darwin.compile.c++ bin.v2/libs/filesystem/build/clang-darwin-11/release/threading-multi/path.o
> In file included from libs/filesystem/src/path.cpp:39:
> In file included from ./boost/filesystem/detail/utf8_codecvt_facet.hpp:18:
> ./boost/detail/utf8_codecvt_facet.hpp:171:17: warning: 'boost::filesystem::detail::utf8_codecvt_facet::do_length' hides overloaded virtual function [-Woverloaded-virtual]
> virtual int do_length(
> ^
> /usr/bin/../lib/c++/v1/__locale:920:17: note: hidden overloaded virtual function 'std::__1::codecvt<wchar_t, char, __mbstate_t>::do_length' declared here
> virtual int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const;
> ^

This is my fault - there's a change that I failed to merge.
I will fix this before the release.

-- Marshall

Boost list run by bdawes at, gregod at, cpdaniel at, john at