|
Boost : |
From: Darin Adler (darin_at_[hidden])
Date: 2001-10-03 01:32:03
Beman suggested I post a little something to the list about this.
I ran the regression tests on Macintosh. You can see the results on the
status page at <http://www.boost.org/status/cs-macosx.html> and
<http://boost.sourceforge.net/regression-logs/macosx.log.gz> has the log.
A few quick notes to help you interpret the results:
The tests are all run on Mac OS X, but the Metrowerks CodeWarrior 7.0 (CFM)
results are valid for older versions of the Mac OS as well. The results are
identical to what you'd get under Mac OS 9 or earlier.
The results for the CFM version of CodeWarrior are slightly better than the
Mach-O version (that's why both are listed). But they are both the same
compiler and the same C++ library, so what gives? The reason the results are
different is that when you use CodeWarrior to compiler for the CFM object
file format, you use Metrowerks' excellent MSL C library that integrates
very nicely with the MSL C++ library. But when you compile for the Mach-O
object file format, you are currently forced to use the BSD C library
headers that are built into the Mac OS X platform. These headers are far
inferior as far as C++ standard compliance is concerned. Howard Hinnant and
some other Metrowerks engineers know about this issue, but I don't think
fixing it is top priority for them right now, nor do I think that Apple is
likely to improve C++ compliance in the BSD headers any time soon.
The compiler itself is nearly identical, but this difference in C library
makes a significant difference in running the Boost test programs. To give
some examples of deficiencies, the BOOST_NO_CTYPE_FUNCTIONS,
BOOST_NO_CWCHAR, and BOOST_NO_STDC_NAMESPACE macros have to be defined for
the BSD C library. The test results are closer than they would otherwise be
because I spent a little time fixing some of the test programs for
BOOST_NO_STDC_NAMESPACE and introduced BOOST_NO_CTYPE_FUNCTIONS to get the
Mach-O version to pass the regex tests. With a little more work, I could get
the libs/math tests to pass too, making the test results nearly identical.
There's one anomaly in the results. The test_pool_alloc.cpp failure for CFM
is actually a mistake in how I ran the tests. It will say "Pass" next time I
update the test results.
I have considered also including the MPW compilers, but it would take a bit
of additional work to get those running. If anyone is actively using Boost
with one of the MPW compilers and would like to see it included, let me know
and I'll reconsider.
-- Darin
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk