------- Additional Comments From ncm-nospam at cantrip dot org 2005-01-21
16:39 -------
I agree that 8670 is a separate bug.
The referenced test 2.cc can be made to fail more reliably with
the following changes:
First, leave enough space for alignment adjustments, even on 128-bit
machines:
- typedef std::tr1::array<char_type, 32> array_type;
+ typedef std::tr1::array<char_type, 256> array_type;
Then, make sure extern_array itself is aligned more or less predictably.
- array_type extern_array;
+ union
+ {
+ array_type extern_array; size_t sdummy; double ddummy; char* pdummy;
+ };
Finally, make sure the storage passed to the allocator is misaligned:
- allocator_type a(&extern_array);
+ allocator_type a(&extern_array[1]);
I don't know how many other tests should be adjusted similarly.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19495