Mat Marcus
Tue, 02 Sep 2003 12:13:24 -0700
On Tuesday 02 September 2003 01:36 pm, Mat Marcus wrote:We're trying to use optional from 1.30.0 (sorry legal hasn't approved our use of 1.30.2 yet). However on one compiler (Metrowerks 8.3 PPC CFM) we're getting static asserts from the alignment calculation metafunctions. Below is an abstracted example of the problem. I'm curious about what's going on and what workarounds might be possible.
Thanks, Mat
Looks like the code was unable to find an 8-byte aligned type. Could you check the results of: std::cout << boost::alignment_of<double> << '\n'; std::cout << boost::alignment_of<long double> << '\n';
I suspect they are both '4', but that leaves me even more confused as to why the alignment of std::pair<double, double> would be 8 (and how to get a POD type with alignment 8 for ourselves!).
Doug
struct A {
double d;
int i;
};struct B {
int i;
double d;
};then: sizeof(A) == 16; sizeof(B) == 12; alignment_of<A>::value == 8; alignment_of<B>::value == 4;
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost