Re: [Re: [gtkmm] ANNOUNCE: gtkmm 2.2.8]



On Monday 06 October 2003 8:37 pm, Chris Vine wrote:

> Anyway, if you are prepared to agree in principle a change from private to
> protected inheritance and revert the reinterpret_cast, I am willing to do a
> binary check on gcc-2.9.3, gcc-3.2.3, gcc-3.3.1 and gcc-3.3.2-rc to make
> sure it does not change library ABI with them and submit a patch.  (I
> cannot promise that other compilers will not change the library ABI, but
> you cannot promise that other compilers will not choke on
> reinterpret_cast).  However, with other commitments it may take a couple of
> weeks.

As a temporary expedient, you may care to note that I have found that with 
gcc-3.2.3, using my test program a C-style cast will carry out an offset 
re-alignment.  This is logical, as a C-style cast has more flexibility than a 
reinterpret_cast, and can use the type/inheritance information which is 
available as well as enabling violation of the access rules.  It will thus 
reproduce the effect of the (now impermissible) static_cast to a private 
base, at least on gcc-3.2.3.

The standard does not require that a C-style cast is to do this, and I have 
yet to check this with gcc-3.3.2-rc (can bradley bell do that?), but most 
compilers probably do act reasonably.  If gcc-3.3.2-rc carries out the 
correct offset realignment with a C cast, until the issue is resolved more 
generally can I suggest you use C-style casts rather than reintepret_cast?

Chris.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]