Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8512: set member_hook access violation
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-04-30 22:48:15
#8512: set member_hook access violation
-------------------------------------+--------------------------------------
Reporter: toby_toby_toby@⦠| Owner: igaztanaga
Type: Bugs | Status: new
Milestone: To Be Determined | Component: intrusive
Version: Boost 1.53.0 | Severity: Showstopper
Resolution: | Keywords:
-------------------------------------+--------------------------------------
Comment (by igaztanaga):
It seems that even there is no virtual inheritance boundary between the
member and the parent, MSVC ABI requires pointer adjustment operations
with information from the virtual base table. asm code for pointer to
member dereferencing shows vbtable is read to correct parent pointer
before adding the offset stored in the pointer to member data.
So it seems very difficult or maybe impossible, to obtain the pointer
adjustment value from the vtable to go back from the member to the parent
(we need a way to obtain access to the vbtable without using a valid
parent pointer).
I think the library should give a compile time error (if pointer to member
is not a simple offset) and document that for Windows compilers member
hooks have limitations and don't work if types have direct or indirect
virtual bases.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8512#comment:8> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:13 UTC