This is the mail archive of the
mailing list for the GCC project.
Re: gcc visibility used by moz
Jason Merrill <firstname.lastname@example.org> writes:
| > | - I don't recall suggesting that
| > | multiple types with the same name should be able to exist.
| > then you have to consider that suggestion and come with an answer.
| I don't see why. The point is that visibility is orthogonal to
| linkage; a class S with external linkage is still required by the ODR
| to be unique across multiple shared objects even if some of the
| symbols that refer to it can't be referenced from outside their
| defining object. The visibility restrictions place practical limits
| on how other objects can use the type, but that doesn't mean it isn't
| the same type.
So, -concretely- what happens to a class S (e.g. associated type info object
address, address of member functions, etc.) with external linkage,
defined in multiple translation units, with say hidden visibility?