There is currently no way to set the visibility of the typeinfo, except by
setting the visibility of the VTT and vtable.

This is unfortunate if you want to be able to using RTTI features on a class
from another module, but don't want to export VTTs and vtables.

It is unclear what the best attribute name to tell gcc that you want this is,
but something like:

class Foo
  : public virtual Bar
{
public:
  virtual void doSomething();
} __attribute__((visibility("hidden")))
__attribute__((typeinfo_visibility("default")));

seems reasonable.


-- 
           Summary: No way set visibility of typeinfo without setting VTT
                    and vtable similarly
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ak dot miller at auckland dot ac dot nz


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28786

Reply via email to