OSDN Git Service

* tree.c (lvalue_kind): Rename from lvalue_p_1, make nonstatic.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / ext / attr-alias-2.C
1 /* { dg-do run }  */
2 /* { dg-require-alias "" } */
3
4 #include <typeinfo>
5
6 struct Klass
7 {
8   int implementation () const;
9   virtual int magic () const;
10 };
11
12 int Klass::implementation (void) const
13 {
14   return 0;
15 }
16
17 int Klass::magic () const
18   __attribute__ ((alias ("_ZNK5Klass14implementationEv")));
19
20 int __attribute__ ((noinline))
21   Foo (Klass const *ptr)
22 {
23   if (ptr->magic () != 0)
24     return 1;
25
26   if (typeid (*ptr) != typeid (Klass))
27     return 2;
28
29   return 0;
30 }
31
32 int main ()
33 {
34   Klass obj;
35   
36   return Foo (&obj);
37 }