Chris Lattner wrote:

> This construct seems like it should be rejected by the C++ front-end. 
> The source is making two contradictory claims: the struct is not visible
> outside this library, but part of it is implemented outside of it.

I don't think there's a contradiction.  The declaration on the structure
is the default for the members and applies to the vtable and other class
data.  There's no reason the members shouldn't be implemented elsewhere,
and there's certainly existing code (in Windows, SymbianOS, and other
DLL-based operating systems, whether or not there is on GNU/Linux) that
implements different class members in different DLLs, while still not
exporting the class from its home DLL.  One situation where this is
useful is when the class members are actually shared between multiple
classes, or are also callable as C functions, etc.

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713

Reply via email to