This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 19 December 2011 21:58, Marc Glisse wrote:In this case, it is a weird quirk in the itanium ABI that is causing this, so it looks like we are stuck with it for a while.
In Francois's unordered containers situation we can certainly live with only one instance of the type having zero size,
But generally, it is quite hard to get a good layout. I wonder if tuple shouldn't make a stronger effort to compact the structure, say by sorting the elements, empty types first, then by decreasing size. That would complicate the implementation quite a bit, but it might be worth it.
It might be worth doing it for an internal EBO helper type, which doesn't need to provide the full tuple interface, but I'm not convinced it's worth it for std::tuple as I think it would be quite complicated.
It might be better to add a front-end attribute telling the compiler it's allowed to re-order base classes for optimal layout,
-- Marc Glisse
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |