Re: [Boost-bugs] [Boost C++ Libraries] #8512: set member_hook access violation

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