On 08/10/2012 08:40, Tijl Coosemans wrote:
inline long long
atomic_exchange_and_add (volatile long long *at, long long x)
{
#ifdef USE_GCC_ATOMICS
return __sync_fetch_and_add (at, x);
#elif USE_TBB
atomic<long long> *a = (atomic<long long> *)at;
This cast is dangerous. It looks like atomic<long long> has 8 byte
alignment, but long long on i386 only has 4 byte alignment.
Could that be the cause of the seg fault?
gcc42 just happens to generate it into a place that equals 8 byte align
where gcc46 doesn't?
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"