/* { dg-do run } */ /* { dg-require-alias "" } */ #include struct Klass { int implementation () const; virtual int magic () const; }; int Klass::implementation (void) const { return 0; } int Klass::magic () const __attribute__ ((alias ("_ZNK5Klass14implementationEv"))); int __attribute__ ((noinline)) Foo (Klass const *ptr) { if (ptr->magic () != 0) return 1; if (typeid (*ptr) != typeid (Klass)) return 2; return 0; } int main () { Klass obj; return Foo (&obj); }