1 // { dg-do assemble  }
2 // prms-id: 2573
3 
4 class X {
5 public:
6   int key();
7   virtual int vkey();
8   char *add();
9 };
10 
add()11 char *X::add() {
12   char *f1 = (char *) &key;	// { dg-error "14:invalid cast" }
13   // { dg-error "24:ISO C\\+\\+ forbids taking the address" "" { target *-*-* } .-1 }
14   char *f2 = (char *) &vkey;	// { dg-error "14:invalid cast" }
15   // { dg-error "24:ISO C\\+\\+ forbids taking the address" "" { target *-*-* } .-1 }
16   return f1;
17 }
18