|
Boost : |
From: Maxim Yegorushkin (e-maxim_at_[hidden])
Date: 2004-09-22 01:18:35
Ben Hutchings <ben.hutchings_at_[hidden]> wrote:
[]
> There's one possible problem I noticed, which is that an allocated
> buffer will be aligned properly for boost::detail::atomic_count but
> perhaps might not be aligned properly for char_t (or to whatever
> buffer_storage_alignment specifies). Let me apply the James Kanze
> test [*]: is it safe to create a const_string<double> on a SPARC?
>
> [*] See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8670> if you
> don't know what I'm talking about.
I fixed it using the union trick.
But I think there might be another solution. The standard states in
5.3.4.10 that arrays of char's allocated with new expression are always
properly aligned for types whose size is no greater than the size of the
array. Does allocator<char>::allocate() have the same requirement? I could
not find it in my copy of the standard.
-- Maxim Yegorushkin
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk