https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106977
--- Comment #22 from ibuclaw at gcc dot gnu.org --- (In reply to ibuclaw from comment #21) > There is something about the Darwin ABI I'm just not getting from looking at > the front-end alone though: Taken from a test Iain had sent me, and I've subsequently modified. ``` struct Visibility { enum Kind { undefined, none, private_, package_, protected_, public_, export_ }; Kind kind; void *pkg; }; class Bar { public: int x; virtual Visibility vis (); }; Visibility Bar::vis () { return Visibility (); } class Foo : public Bar { public: Visibility v; int y; Visibility vis () override final; }; Visibility Foo::vis () { return v; } int test (Bar *foo) { Visibility vis; vis = foo->vis (); return vis.kind; } ```