std::tr1::array's only data member, _M_instance, has __attribute__((__aligned__)) which means that it potentially takes more space in memory than is required by the size and alignment of type _Tp. This makes tr1::array somewhat less attractive than C-style arrays, especially on low-memory systems, since there's an unnecessary hidden cost.
Paolo mentioned that this was originally done to play it safe with some extensions, but that those extensions could be fixed. I don't know which extensions he was referring to. -- Summary: std::tr1::array has too-conservative alignment on _M_instance Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: atgraham at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33896