Clang vs. Boost release branch

Hi All,

Want to help the Clang C++ effort? Here's a great way to get started…

Clang is about to branch for the 3.0 release, and Boost is putting the finishing touches on its 1.48.0 release, so now would be a great time to make sure that the two upcoming releases work wonderfully together. Unfortunately, there are a number of problems that make the experience less than satisfying.

I went ahead and ran Boost's release-branch regression tests with Clang trunk on Mac OS X 10.7. The results are posted here in the dgregor2/clang-darwin-3.0 column:

I've provided a rough categorization of failures below, some of which are Clang bugs and others that are Boost bugs. If you want to help, please look into some failures to understand where the problem lies:

  - If it's a Clang bug, please go ahead and file a bug at with a reduced (= does not involve Boost directly) bug.
  - If it's a Boost bug, please report it to Boost and (if possible) provide a patch
  - If it's a platform bug, please report it to Boost and we can mark it up as an "expected failure"

When time permits, I'll also try to run Boost's tests in C++0x mode and with libc++. Help wanted here as well :slight_smile:

Regression test failures, by library:

Asio: 2 IP multicast failures (could be a platform issue)

Container: 4 __has_nothrow_assign failures due to access control private members

Flyweight: 1 failure (looks like a Boost bug)

FunctionTypes: 1 failure (looks like a Boost bug)

Fusion: 1 failure

Interprocess: 4 __has_nothrow_assign failures
  3 compiler crashes (doc_unique_ptr, shared_ptr_test, unique_ptr_test)

Intrusive: 1 failure (looks like a Boost bug)

Math: lots of two-phase name lookup issues (Boost bugs, but perhaps not all)

Move: 5 __has_nothrow_assign failures

Phoenix: 1 run-time failure (switch_tests)

Polygon: 1 two-phase name lookup issue (Boost bug)

Pool: 2 valgrind issues (probably a valgrind problem)

Regex: 2 'missing typename' issues

Spirit/Repository: configuration problem (-lrt)

Spirit/Test: 2 failures due to mutable references (Boost bug)

TR1: 2 failures with random-number tests

TypeTraits: lots of two-phase name lookup failures in the has_* tests

Variant: 1 __has_nothrow_assign failure

  - Doug

Douglas Gregor wrote:

TypeTraits: lots of two-phase name lookup failures in the has_* tests

type_traits fixes merged to Boost's release branch (r74930) :slight_smile:


How does one run the test suite (aka, bjam in the status directory)
without it stopping after every error? Being able to run it and come
back to pretty html, would be nice.

These were Clang bugs, which I fixed in r 141777. Updated results for this builder are under the "dgregor" column.

  - Doug

Excellent, thanks!

  - Doug