This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Re[2]: visual studio compatibility


On Mon, 14 May 2001, Joe Buck wrote:

> [ reverse engineering msvc ]
> 
> > Object layout we can't do anyway. They've patented most of it (You can
> > therefore find most of it documented in the patents), and as they
> > get more desperate to stop open source software, i'd think we don't want
> > to be anywhere near the cross-hairs.
> 
> It might be possible to do a partial job without violating their patents;
> there's nothing special in the case of single inheritance.  But yes, any
> implementation that is fully binary compatible with MSVC has to violate
> a patent.

   Isn't the single inheritance case already done? There's an email on
'gcc-bugs' with the title 'COM binary compatibility' that says the gcc
3.0 ABI will be compatible with COM objects out of the box (no more
com_interface attribute). Since COM objects are nothing more than VC++
classes with single inheritance this seems to imply that the single
inheritance case is already solved.

   I guess you were refering to US5297284 for the multiple inheritance
case. AFAIU it does specify optimisations for the virtual table layout
and the handling of the this pointer. How does the new gcc 3.0 ABI deal
with it? It does things like VC++ for the single inheritance case but
goes another way to deal with multiple inheritance?
   (In the Wine project we side-step the whole issue by not using the
compiler to do the COM object layout)


--
Francois Gouget         fgouget@free.fr        http://fgouget.free.fr/
                     f u kn rd ts, ur wy 2 gky 4 ur wn gd.






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]