Archive for the ‘C++ Builder’ Category

Test results for Boost 1.37.0 and CodeGear compilers…

November 5, 2008

… may be found here!

I ran the tests both before and after applying Update 1 and the results are exactly the same.


Boost 1.37 is out

November 4, 2008

As you probably know Boost 1.37 was released yesterday. I expect it to be well received by CodeGear users, as it includes many specific patches for both C++Builder 2009 and C++Builder 2007. The good news are that many of these patches actually disable workarounds that are not needed any more and none is specific to the latest compiler version, so apparently there are no new regressions.

Among the involved libraries there are some of the fundamental ones, as Config, CallTraits, Exception, Iterator, MPL and TypeTraits. Asio, Foreach, Filesystem, Function, Functional and Serialization also received patches. Unfortunately there were quite a few patches that I didn’t manage to submit in time; these will have to wait for 1.38, I’m afraid.

I hope to be able to post test results for both CB2009 and CB2007 on the bcbboost site by tomorrow evening. Originally I didn’t plan to issue a new bcbboost release, but CodeGear released Update 1 for CB2009 too late for explicit support to be included in 1.37. In the next few days I’ll check what needs to be done.

C++ Builder 2009, Boost & bcbboost

September 22, 2008

The number of visits to this blog has increased in the last few days. I obviously don’t know for sure, but C++ Builder 2009 was recently released and one possible reason for the increased traffic is that people are looking for information on Boost support for the new compiler.

As you probably know CB 2009 includes a custom version of Boost 1.35 . This includes a very high number of specific changes which, combined with the standard compliance improvements in the compiler, increase dramatically the level of support compared with previous releases. I would consider this a very convenient solution for those that do not need the latest libraries.

I’m currently in the process of helping the CodeGear people merge their changes into the official Boost repository and I hope to finish in time for the next Boost release, 1.37 . Should I not make it I plan to check with CodeGear whether they have any objection on issuing their patches through bcbboost first.

I currently have no plans for a 1.36 backport, but if you direly need it, let me know.

The Borland / CodeGear compilers and Boost 1.35.0

May 5, 2008

One of the many changes introduced with the new Boost release process is a drastic reduction in the number of officially supported compilers.  Although all versions of the Borland /  CodeGear compiler were left out, it should be noted that this only means that they have been excluded from the official release branch regression tests. This is not a good thing, as it makes it likely that regressions introduced late in the release process go unnoticed until after the release is issued.

On the other hand all the specific workarounds that I’m aware of are still present in the Boost source code and compilers from 5.6.4 onward work only slightly worse with Boost 1.35.0 than they did with the last few Boost releases.

To get a more precise idea of what works and what doesn’t you can take a look at the test results for the 5.6.4, 5.8.2 and 5.9.3 compilers. As you can see the 5.9.3 compiler does somewhat better than the other two, but there are things that stopped working for all three since the last Boost release.

However, now that gcc and VC++ are both rather close to standard compliance, Boost authors tend to rely more and more on advanced techniques that are only partly supported by the latest compiler, and not at all from earlier ones. This is likely to get worse – or better, depending on points of view – with each new Boost release. Let’s just hope that CodeGear manages to keep up.

A new release of bcbboost

September 15, 2007

I just released a new version of bcbboost, 1.34.1-5.9.2-0.2 , which supports Boost 1.34.1 and bcc32 5.9.2, which is the new compiler that’s part of C++Builder 2007 Update 3 and RAD Studio 2007. It should also work with bcc32 5.9.1 and 5.9.0, as well as with Boost 1.34.0 . This release includes improved support for the Iostreams and Parameters libraries.

Spirit 1.8.5 and 1.6.4 released

September 2, 2007

Spirit is a C++ parser generator framework that uses techniques such as template meta-programming and expression templates to allow expressing one’s grammars in a syntax that’s as close to EBNF as C++’s own syntax allows. Spirit is part of Boost.

Spirit 1.8.5 is a standalone variant of the version that is included in Boost 1.34.1; it doesn’t provide new features, but contains all the fixes that were applied since Spirit 1.8.4 . You can download Spirit 1.8.5 here.

Spirit 1.6.4 is the latest in a series of releases that are based on an earlier implementation that is friendlier towards older, less standard compliant compilers. It was specifically tested and works reasonably well with all Borland/CodeGear compilers from BCB6 onward. This is a bug fix only release and is likely to be the final 1.6.x version. Spirit 1.6.4 is available here.

Both Spirit 1.8.5 and 1.6.4 are available in the following variants:

Library only (the / spirit-1.x.y.tar.gz files) – These contain only Spirit itself and require an existing Boost installation. Both were tested only with Boost 1.34.0 and 1.34.1, but should work with other reasonably recent releases.

Miniboost (the / spirit-1.x.y-miniboost.tar.gz files) – These contain also the minimal subset of Boost that is needed to use Spirit. This is a new version of the Miniboost that is based on Boost 1.34.1 and has the same directory structure as Boost itself.

bcbboost & Boost 1.34.1

August 17, 2007

By the way, bcbboost‘s current release, 1.34.0-5.9.0-0.1 , works also with the latest Boost release, 1.34.1 ; if you have installed C++ Builder 2007 Update 2 you need to apply the fix described in this post.

bcbboost & CB2007 Update2

August 14, 2007

If you’re using bcbboost with C++Builder 2007 and you intend to install Update 2 you need to edit boost\config\compiler\borland.hpp and change all occurencies of 0x590 into 0x591 .

I’m investigating other changes that may be required and hope to come out with a new version in a short time.

Many thanks to Andrew Bond for the heads up.

Boost & C++ Builder

July 6, 2007

In case you don’t know, I’m collecting patches that improve Boost‘s support for Code Gear (formerly Borland) compilers and making them available through the bcbboost project.

The current version of bcbboost, 1.34.0-5.9.0-0.1, supports the recently released Boost 1.34.0 and Code Gear’s compilers up to bcc32 5.9.0, corresponding to C++Builder 2007.