1 /* { dg-do compile } */
2 /* { dg-options "-O3 -fdump-tree-ccp1" } */
6 virtual int bar(void) {return a;}
10 virtual int foo(void) {return b;}
15 virtual int foo(void) {return a;}
23 return d->foo()+b->foo();
25 /* The call to b->foo() is perfectly devirtualizable because C can not be in construction
27 /* { dg-final { scan-tree-dump-not "OBJ_TYPE_REF" "ccp1" } } */
28 /* { dg-final { cleanup-tree-dump "ccp1" } } */