// { dg-do compile } | |
// { dg-options "-O2 -Wsuggest-final-types -Wsuggest-final-methods" } | |
int c; | |
struct A { // { dg-warning "final would enable devirtualization of 4 calls" } | |
virtual void a() {} // { dg-warning "final would enable devirtualization of 2 calls" } | |
virtual void b() {c++;} // { dg-warning "final would enable devirtualization of 2 calls" } | |
}; | |
void | |
t(struct A *a) | |
{ | |
a->a(); | |
a->a(); | |
a->b(); | |
a->b(); | |
} |