Boost logo

Boost Users :

Subject: Re: [Boost-users] Interprocess: rbtree_best_fit ABI change from 1.53 to 1.55 ?
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2014-01-22 16:49:04


El 22/01/2014 22:06, Arunski, Kevin escribió:
> boost::interprocess::rbtree_best_fit<boost::interprocess::null_mutex_family,boost::interprocess::offset_ptr<void,__int64,unsigned __int64,0>,0>
>
> has size = 56
> member m_header.m_imultiset has size 32
>
> In code compiled with boost 1.55:
>
> the same type has size = 72
> member m_header.m_imultiset has size 48

Wow, that's too big. I think this is related with MSVC Empty Base
Implementation behaviour. I refactored those classes to avoid redundant
simple forwarding functions using inheritance and that broke this for
MSVC compilers. I should add some checks for 32 and 64 bit compilers to
guarantee the minimum size (16 bytes in 32 bit and 32 bytes in 64 bit).

Please, fill a new ticket in Boost Trac so that I don't forget this bug.

And thanks for the report.

Ion


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net