[cfe-dev] Clang vs. Boost release branch

Douglas Gregor dgregor at apple.com
Tue Oct 11 07:31:16 PDT 2011


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:

	http://www.boost.org/development/tests/release/developer/summary.html

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 http://llvm.org/bugs/ 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 :)

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



More information about the cfe-dev mailing list