
Hi all.
One of our projects failed to build using the Boost 1.35 release and we traced it down to a compiler bug with MSVC 7.1. & 8.0. We have not tested any earlier compiler versions and MSVB 9.0 seems to have fixed the bug (and seems to compile the project in about half the time it took in MSVC 8.0 :-)))).
We found a fix that should be applied to boost/pool/detail/mutex.hpp:
The CRITICAL_SECTION type should be referenced using its fully qualified name '::CRITICAL_SECTION'.
I am attaching a suggested patch file for boost/pool/detail/mutex.hpp. If no problems are found with it should be applied to the trunk as well as the release branch for the upcoming 1.35.1 patch release.
The patch uses fully qualified names for other global Windows/posix API calls as well (e.g ::InitializeCriticalSection(), ::DeleteCriticalSection(), ::EnterCriticalSection(), ::LeaveCriticalSection()) but that does not have direct impact on this concrete bug.
Since there were no complaints and the patch is really simple, I have gone ahead and comitted it, together with a corresponding regression test. Changeset link: http://svn.boost.org/trac/boost/changeset/44480 Best regards, Jurko Gospodnetić