// Special g++ Options: -fhandle-signatures // GROUPS passed gb sigptr opaque-type // Test calling member functions taking/returning opaque type through sigptr. extern "C" { int printf (char *, ...); } signature S { typedef t; char * f (t); t g (void); t h (void); }; class C { public: typedef char * t; char * f (t text) { return text; } t g (void) { return "PA"; } t h (void) { return "SS"; } }; int main (void) { C a; S * p = &a; S::t w = p->h (); printf ("%s%s\n", p->f (p->g ()), p->f (w)); return 0; }