Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2008-07-31 15:16:54

Mat Marcus:

> On the boost users list, there was a discussion about some issues
> arising with boost versus gcc-4.2 on Apple systems. One interesting
> issue arises from the fact that Apple decoupled the gcc compiler
> version from the lib version. They "own" libstdc++, which they've kept
> at version 4.0 even when the 4.2 compiler. This breaks some
> assumptions in boost headers. I am reposting on the main developer
> list:
> ###
> Peter Dimov wrote:
>> Is the new Apple GCC documented somewhere? I wasn't able to find anything
>> related to a new assembler syntax or -fasm-blocks. Can you ask Apple to
>> explain the issue? Stock g++ 4.2.x compiles the code, so the problem must
>> be
>> Apple-specific.

This is the original problem report:

It is not caused by libstdc++, but by inline asm syntax.

>>> This is the case because boost assumes that a 4.2 compiler implies
>>> 4.2 libraries in flies such as boost/detail/atomic_count_gcc.hpp:
>>> #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2))
>>> # include <ext/atomicity.h>
>>> #else
>>> # include <bits/atomicity.h>
>>> #endif

atomic_count_gcc.hpp is only included on non-x86/x64 platforms when the g++
version is 4.0 or earlier. g++ 4.2 should use either
atomic_count_gcc_x86.hpp or atomic_count_sync.hpp.

Boost list run by bdawes at, gregod at, cpdaniel at, john at