The "current" situation was "the best" compromise we arrived at in the very old days of GCC-3.x.x -- see the archive for discussions.
Indeed. I would resist change just for change's sake, especially when we have not seen a detailed bug report filed.
I'd suspect that nowadays we have better ways of handling the issues -- though I've not done any new investigation.
I've been waiting to revisit this issue until we have correct alignment support for template objects (std::aligned_storage, etc.) in g++. Then, we can use array_allocator to deal with this stuff in a much more transparent and C++ friendly way. -benjamin