Merged trunk at revision 161680 into branch.
[official-gcc.git] / gcc / testsuite / g++.dg / ext / attr-alias-2.C
blob61a132f77a7b02107af0da5c256fb180925dd4f3
1 /* { dg-do run }  */
2 /* { dg-require-alias "" } */
4 #include <typeinfo>
6 struct Klass
8   int implementation () const;
9   virtual int magic () const;
12 int Klass::implementation (void) const
14   return 0;
17 int Klass::magic () const
18   __attribute__ ((alias ("_ZNK5Klass14implementationEv")));
20 int __attribute__ ((noinline))
21   Foo (Klass const *ptr)
23   if (ptr->magic () != 0)
24     return 1;
26   if (typeid (*ptr) != typeid (Klass))
27     return 2;
29   return 0;
32 int main ()
34   Klass obj;
35   
36   return Foo (&obj);